袁瑞's profile袁瑞的共享空间PhotosBlogGuestbookMore Tools Help

袁瑞的共享空间

Photo 1 of 3
May 08

C#的结构和类的区别

结构:属于值类型,隐式派生自System.ValueType。结构是隐式密封的,因此不能被继承,但可以有构造函数(必须保留默认构造函数,不能显式创建无参数的构造函数,即自定义构造函数必须都有参数),可以实现接口,可以包含属性、方法、事件及重载运算符。成员默认是public。结构可以实现IDisposbale接口,但不能重写Finalized方法,因为其不会分配到托管堆上。

创建结构时如果不使用new关键字,需要为未赋值的成员赋值后才能使用。

类:属于引用类型,支持继承,但不能多继承。类成员默认私有访问权限。可以实现IDisposbale接口,可以间接重写Finalized方法(格式模仿C++的析构函数,不能带修饰符、参数和返回值)。类为了防止继承,可以声明为sealed。不想类被实例化,可以声明为abstract或静态类。

March 24

在DHTML中响应ActiveX控件的事件

转载自www.diybl.com  作者:佚名

ActiveX控件可以用连接点创建事件,此事件可以在DHTML网页中被javascript函数处理,在js中响应ActiveX控件事件的方法如下:
1. 静态创建方法     
<script>
function  OnEvent1()
{
}
</script>
<OBJECT id="myControl"
                   codeBase="myControl.cab"              
                   classid="clsid:1ACA02DF-AF52-4371-89B9-B9245BD21831"
></OBJECT>
<script       language=javascript
                   FOR="myControl"
                   EVENT="event1()">   
                   OnEvent1();
</script>
2. 动态创建方法
function onBodyLoad()
{
        myControl = document.createElement("OBJECT");
        document.body.appendChild(myControl);
        myControl.codeBase = "myControl.cab";
        myControl.classid = "clsid:1ACA02DF-AF52-4371-89B9-B9245BD21831";
        myControl.attachEvent("event1", OnEvent1);
}
<body onload="onBodyLoad()">
...
3. 错误的动态创建方法
function onBodyLoad()
{
        myControl = new ActiveXObject(myControl.Test);
        myControl.attachEvent("event1", OnEvent1);
        ~~~~~~~~~~~~~~~~~~此时会报告“无此方法”,这是因为
用new ActiveXObject创建的对象并非一个DOM对象,因此不能
调用attachEvent方法。而用document.createElement("OBJECT")
创建的才是一个DOM对象。
}
<body onload="onBodyLoad()">

March 16

在SuSE 11.1 中安装mono 2.2

国内关于mono的介绍文章比较少,笔者这里将自己安装使用mono的经验拿出来同大家共同分享。

mono(西班牙语中的“monky”,这里有编程者的昵称:code monkey寓意)是一个Novell公司资助的开源项目。是一个满足ECMA-334、335规范的CLI多平台实现,即公共语言基础设施。是.NET平台无关性的一个很有力的证明。目前其支持Windows、OSX、Solaris及各种Linux。已经支持.NET2.0全部特性及部分.NET3.5特性(目前已经有对WCF支持),新版兼容VisualStudio.NET 2005/2003的工程文件(sln文件),即在windows上创建的工程可以直接转到其他平台上编译运行,Mono自带的例子即是一个证明。同时基于mono的mono developer也是一个开源的.NET IDE工具,目前最新版本是2.0beta。

首先在VMWare6.5中安装SuSE11.1操作系统。

clip_image002

安装系统时,语言选择简体中文。

安装过程中,基本采用默认安装。在选择安装软件包中,建议取消.NET中的老版本mono包。

clip_image004

安装中有一个问题,我一直没有解决,就是安装盘中自带的老版本的Open Virtual Machine Tools一直无法取消安装。结果是VMWare高版本VMTool无法同guest操作系统的SuSE进行文件系统共享。

clip_image006

操作系统安装完毕后,可以从mono网站上下载2.2版本的安装包。

如果手工安装,可以按以下顺序进行:

mono-core-2.2-14.1.i586.rpm

mono-data-2.2-14.1.i586.rpm

mono-data-sqlite-2.2-14.1.i586.rpm

mono-core-debuginfo-2.2-14.1.i586.rpm

mono-core-debugsource-2.2-14.1.i586.rpm

笔者推荐使用安装源的方式进行,这样可以有效避免安装中出现的包依赖问题。打开YaST,运行“软件安装源”。

clip_image008

在安装源内可以添加URL方式的安装源:

http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.1/

也可以将RPM文件下载到本地后,添加本地目录。笔者采用本地安装:

clip_image010

配置好安装源后,就可以打开YaST的软件管理器进行mono安装了。

clip_image012

只要安装好mono-core,mono的基本编译和运行环境就具备了。可以在命令行内运行测试:gmcs –version

clip_image014

编写一个C#的源文件helloworld.cs。内容如下:

clip_image016

编译运行结果如下:

clip_image018

编写具有WinForm的HelloWorld,前提需要安装mono-winforms。代码如下:

clip_image020

编译运行结果如下:

clip_image022

clip_image024

March 04

自己编写的一个Ogame外挂,TW_U2测试通过,有喜欢的朋友去下吧!

目前版本号:0.1.5.11 tw_u2 测试版。

增加:支持对敌意舰队活动进行告警,舰队活动数量增加告警,最小化到系统托盘等功能。

http://www.namipan.com/d/44a5c58f58c0a533ea73d286356256123e7f88ab00ba0400

 
感谢访问!
Please wait...
Sorry, the comment you entered is too long. Please shorten it.
You didn't enter anything. Please try again.
Sorry, we can't add your comment right now. Please try again later.
To add a comment, you need permission from your parent. Ask for permission
Your parent has turned off comments.
Sorry, we can't delete your comment right now. Please try again later.
You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
Complete the security check below to finish leaving your comment.
The characters you type in the security check must match the characters in the picture or audio.