摘要: .NET中的属性属性允许源代码用一个简化的语法来调用一个方法。CLR支持两种属性:无参属性,简称属性;有参属性,C#简称索引器。1、无参属性定义属性时,编译器在最后的程序集中生成以下两项或三项内容。编译器会在指定的属性名之前附加get_或set_前缀生成这些方法的名称。当对这些属性的访问其实就是调用get_或set_方法。托管程序集元数据中的一个属性定义。属性定义了get访问器方法... 阅读全文
posted @ 2011-08-22 16:02 连风 阅读(663) 评论(0) 推荐(0) 编辑
摘要: .NET中的参数1、默认参数当设计一个方法的参数时,可为部分或全部参数分配默认值。在调用这些方法的代码可以选择不指定部分实参而是用默认值。初次之外,调用方法时,还可以通过制定参数名称的方式为其传递实参。声明:public void Test(int a = 0, string b = "test");向方法传递参数时,编译器按左到右的顺序对实参进行求值。可以为方法、构造器方法和有参属性(索引器)的参数指定默认值。还可以为属于委托定义一部分的参数指定默认值,在调用该委托类型的一个变量时,可以省略实参,接受默认值。有默认值的参数必须放在没有默认值的所有参数之后。默认值必须是编译 阅读全文
posted @ 2011-08-22 14:55 连风 阅读(2040) 评论(0) 推荐(0) 编辑
摘要: .NET中的方法----操作符重载CLR对操作符重载一无所知,它甚至不知道什么是操作符。是编程语言定义了每个操作符的含义,以及当这些特殊操作符号出现时,应该生成什么样的代码。尽管CLR对操作符一无所知,但是CLR确实规定了语言如何公开操作符重载,以便由另一种语言的代码使用。每种编程语言自行决定是否支持操作符重载,以及具体的语法是什么,编译代码时,编译器会生成一个标识操作符行为的方法。CLR规范要求操作符重载方法必须是public 和static方法。例如: public class MyComplex { public static MyComplex opera... 阅读全文
posted @ 2011-08-22 13:35 连风 阅读(876) 评论(0) 推荐(0) 编辑
摘要: .NET中的方法----构造1、引用类型中的实例构造器构造器是允许将类型的实例初始化为良好状态的一种特殊方法。构造器方法在"方法定义元数据表"中始终为.ctor。创建一个引用类型的实例时,首先为实例的数据字段分配内存,然后初始化对象的附加字段(类型对象指针和同步块索引),最后调用类型的实例构造器来设置对象的初始状态。构造引用类型的对象时,在调用类型的实例构造器之前,为对象分配的内存总是先被归零。... 阅读全文
posted @ 2011-08-22 11:24 连风 阅读(401) 评论(0) 推荐(0) 编辑