C#类和实例构造函数

时间:2014-05-05 22:56:17

标签: c# constructor simd

MSDN RyuJIT blog entry给出了设置CTP3的指令:

  

在RyuJIT最终之前需要一些棘手的事情:添加一个引用   Microsoft.Numerics.Vectors.Vector到类的构造函数   在使用新Vector类型的方法之前调用。 ID   建议将它放在程序的入门类的构造函数中。   它必须出现在类构造函数中,而不是实例构造函数。

我更熟悉Objective-C中的类/实例构建,而不是我在C#中。他在谈论一个不同的概念吗? C#中的类构造函数和实例构造函数有什么区别?是"类构造函数"在这种情况下,只是无参数构造函数?

2 个答案:

答案 0 :(得分:7)

我认为这是指静态构造函数

答案 1 :(得分:5)

构造函数= 静态构造函数

实例构造函数= 普通构造函数

例如,

class MyClass
{
    // Static/Class constructor.
    // Note: Static constructors cannot have visibility modifier (eg. public/private),
    //       and cannot have any arguments.
    static MyClass()
    {
        ... // This will only execute once - when this class is first accessed.
    }

    // Normal/Instance Constructor.
    public MyClass(...)
    {
        ... // This will execute each time an object of this class is created.
    }
}

举个例子,请考虑以下代码:

static void Main(string[] args)
{
    var a = new MyClass();  // Calls static constructor, then normal constructor.
    a.DoSomething();
    var b = new MyClass();  // Calls normal constructor only.
    b.DoSomething();
}

另外,请考虑以下代码:

static void Main(string[] args)
{
    MyClass.SomeStaticMethod();       // Calls static constructor, then SomeStaticMethod().
    MyClass.SomeOtherStaticMethod();  // Calls SomeOtherStaticMethod() only.

    // Note: None of the above calls the normal constructor.
}