0

我无法理解这部分代码,请帮忙。

当我这样做时

public class TestClass
{
    static TestClass(int i)
    {
    }

    TestClass()
        : this(1)   // Error
    {
    }
}

它给了我错误

“TestApp.TestClass”不包含带 1 个参数的构造函数

但是当我这样做时,它不会显示任何错误。

public class TestClass
{
    TestClass(int i)
    {
    }

    static TestClass()
        : this(1)
    {
    }
}

有人请解释这种行为吗?

4

1 回答 1

7

您的第一个代码中有两个错误:

  1. 您不能static使用参数定义构造函数。
  2. 你不能调用static构造函数。在第一次使用该类之前,框架会为您调用它(但您无法确切说明何时)。

在 MSDN 上阅读有关静态构造函数的更多信息:静态构造函数(C# 编程指南)

于 2013-09-30T19:24:51.923 回答