对访问器的访问修饰符的限制对属性或索引器使用访问修饰符受以下条件的制约:· 不能对接口或显式接口成员实现使用访问器修饰符。· 仅当属性或索引器同时具有 set 和 get 访问器时,才能使用访问器修饰符。这种情况下,只允许对其中一个访问器使用修饰符。· 如果属性或索引器具有 override 修饰符,则访问器修饰符必须与重写的访问器的访问器(如果有的话)匹配。... Read More
MSDN:关于C#引用引用类型的变量不直接包含其数据;它包含的是对其数据的引用。当通过值传递引用类型的参数时,有可能更改引用所指向的数据,如某类成员的值。但是无法更改引用本身的值;也就是说,不能使用相同的引用为新类分配内存并使之在块外保持。若要这样做,应使用 ref 或 out 关键字传递参数。为了简单起见,下面的示例使用 ref。示例:通过值传递引用类型class PassingRefByVal... Read More
匿名方法// Create a handler for a click eventbutton1.Click += delegate(System.Object o, System.EventArgs e) { System.Windows.Forms.MessageBox.Show("Click!"); };// Create a delegate instancedelegate void D... Read More
MSDN索引器与属性的对比索引器允许您按照与数组相同的方式对类、结构或接口进行索引。索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。class SampleCollection<T>{ private T[] arr = new T[100]; public T this[int i] { get { return arr[i]... Read More
任何时候,只要创建类或结构,就会调用它的构造函数。类或结构可能有多个接受不同参数的构造函数。构造函数使得程序员可设置默认值、限制实例化以及编写灵活且便于阅读的代码。 默认public class Taxi{ public bool isInitialized; public Taxi() { isInitialized = true; }}class TestTaxi{ static void M... Read More
MSDN讲解:结构的应用struct 类型适于表示 Point、Rectangle 和 Color 等轻量对象。尽管可以将一个点表示为类,但在某些情况下,使用结构更有效。例如,如果声明一个 1000 个 Point 对象组成的数组,为了引用每个对象,则需分配更多内存;这种情况下,使用结构可以节约资源。由于 .NET Framework 包含名为 Point 的对象,因此我们转而调用结构“... Read More
MSDN给出的分部类的设计准则可以将类、结构或接口的定义拆分到两个或多个源文件中。每个源文件包含类定义的一部分,编译应用程序时将把所有部分组合起来。在以下几种情况下需要拆分类定义:· 处理大型项目时,使一个类分布于多个独立文件中可以让多位程序员同时对该类进行处理。· 使用自动生成的源时,无需重新创建源文件便可将代码添加到类中。Visual Studio 在创建 Windows ... Read More