应关注的概念
封装的方法签名(称为委托),它实现了类型安全的事件通知。
委托类型表示对具有特定参数列表和返回类型的方法的引用。通过委托,我们能够将方法作为实体赋值给变量和作为参数传递。委托类似于在其他某些语言中的函数指针的概念,但是与函数指针不同,委托是面向对象的,并且是类型安全的
属性 (Property),充当私有成员变量的访问器。
属性 (Attribute),提供关于运行时类型的声明性元数据。
· 泛型可以让类、结构、接口、委托和方法按它们存储和操作的数据的类型进行参数化。泛型很有用,因为它们能提供更强的编译时类型检查,减少数据类型之间的显式转换,以及装箱操作和运行时的类型检查。
· 在需要委托值的地方,匿名方法允许以“内联”方式编写代码块。匿名方法类似于 Lisp 编程语言中的 lambda 函数。C# 2.0 支持创建“closure”,其中的匿名方法可以访问外层局部变量和参数。
· 迭代器是执行递增计算并产生一系列值的方法。迭代器使类型可以简便地指定foreach 语句循环访问其元素的方式。
· 分部类型允许将类、结构和接口划分为多个部分,存储在不同的源文件中,以便于开发和维护。此外,分部类型允许将计算机生成的类型部分和用户编写的类型部分互相分开,以便更容易地扩充工具生成的代码。
· 可空类型表示可能未知的值。可空类型支持其基础类型的所有值以及一个附加的空状态。任何值类型均可作为可空类型的基础类型。可空类型支持与其基础类型相同的转换和运算符,另外还提供类似于 SQL 的空值传播。
可访问性 |
含义 |
public |
访问不受限制 |
protected |
访问仅限于此类和从此类派生的类 |
internal |
访问仅限于此程序 |
protected internal |
访问仅限于此程序和从此类派生的类 |
private |
访问仅限于此类 |
接口 (interface) 定义了一个可由类和结构实现的协定