在许多C#文件中,我看到了命名为CTOR或ctor的区域标记(?). Ctor是什么意思?为什么这样的区域被称为Ctor?
这只是“constructor”的简写,IL 中的构造函数也被称为它。例如,打开 Reflector 并查看类型,你会看到称为各种构造函数的成员.ctor
。
通常情况下,这个区域应该包含类的构造函数。
再详细解释一下,构造函数分为两种:实例初始化器(.ctor)和类型初始化器(.cctor)。编译下面的代码,并在ildasm.exe中查看IL代码。您将注意到静态字段'b'将通过.cctor()进行初始化,而实例字段将通过.ctor()进行初始化。
internal sealed class CtorExplorer
{
protected int a = 0;
protected static int b = 0;
}
输入"ctor"并按两次TAB键,这将自动添加默认构造函数。