随笔分类 - C#
摘要:.NET支持的类型参数约束有以下五种: 在泛型类型定义中,where 子句用于指定对下列类型的约束:这些类型可用作泛型声明中定义的类型参数的实参。 例如,可以声明一个泛型类 MyGenericClass,这样,类型参数 T 就可以实现 IComparable<T> 接口: 除了接口约束,where
阅读全文
摘要:【abstract】 abstract 修饰符指示所修饰的内容缺少实现或未完全实现。 abstract 修饰符可用于类、方法、属性、索引器和事件。 在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。 标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。 示例: 在此
阅读全文
摘要:IEnumerable接口是非常的简单,只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集合的IEnumerator对象。 IEnumerator是一个真正的集合访问器,没有它,就不能使用foreach语句遍历集合或数组,因为只有IEnumerator对象才能访问集合中的
阅读全文
摘要:这个返回如下错误:"Cannot modify the return value of 'System.Collections.Generic.List<MyStruct>.this[int]' because it is not a variable" The [] operator on a l
阅读全文
摘要:1. sealed关键字 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。类似于Java中final关键字。 在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承。 2. sealed 修饰方法或属性 能够允许类从基类继承,并防止它们重写特定的虚方法或虚属性
阅读全文
摘要:委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。 一、委托的声明 (1) delegate delegate我们常用到的一种声明 Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。 例:public delegat
阅读全文