类中的数据和函数称为类的成员。除了这些成员外,类还可以包含嵌套的类型(例如其他类)。
partial关键字允许把类、结构或接口放在多个文件中。
//BigClassPart1.cs
partial class TheBigClass
{
public void MethodOne()
{
}
}
//BigClassPart2.cs
partial class TheBigClass
{
public void MethodTwo()
{
}
}
如果声明类时使用了下面的关键字,这些关键字讲应用于同一个类的所有部分:public, private, protected, internal, abstract, sealed, 基类, new, 一般约束。
嵌套的类型中,只要partial关键字位于class关键字的前面,就可以嵌套部分类。
静态类。
static class StaticUtilities
{
public static void HelperMethod()
{
}
}
数据成员包含了类的数据——字段、产量和事件。数据成员可以是静态数据(与整个类相关)或是实例数据(类的每个实例都有它自己的数据副本)。通常,对于面向对象的语言,类的成员总是实例成员,除非用static进行了显示声明。
readonly(只读字段)比const(常量)灵活得多,只读字段只能在构造函数中赋值。如果要把只读字段设置为静态,就必须显示声明。
函数成员提供了操作类中数据的某些功能,包括方法、属性、构造函数和终结器(finalizer)、运算符以及索引器。
方法是与某个类相关的函数,他们可以是实例方法,也可以是静态方法。
方法的重载——方法的几个有不同签名(参数个数、参数类型)的版本。
属性是可以在客户机上访问的函数组,其访问方式与反问类的公共字段类西。因为属性这种语法不同于一般的函数语法,在客户代码中,虚拟的对象被当作实际的东西。
属性的概念是:它是一个方法或一对方法,在客户机代码看来,它们是一个字段。(get、set访问器)
构造函数是在实例化对象时自动调用的函数。他们必须与所属的类同名,并且不能有返回类型。
静态的构造函数只能执行一次,主要是为了对静态字段或属性进行初始化。在类加载时被执行,无参,且没有访问修饰符。
终结器类似于构造函数,但是在CLR检测到再不需要某个对象时调用。他们的名称与类名相同,但前面有一个~符号。也被成为析构函数。
运算符执行的最简单的操作就是+和-。运算符可被重载。
索引器允许对象以数组或集合的方式进行索引。