非静态构造函数中的静态
本文关键字:静态 构造函数 | 更新日期: 2023-09-27 18:33:18
我无法理解这部分代码,请帮忙。
当我这样做时
public class TestClass
{
static TestClass(int i)
{
}
TestClass()
: this(1) // Error
{
}
}
它给了我错误,因为
'TestApp.TestClass' 不包含接受 1 个参数的构造函数
但是当我这样做时,它不会显示任何错误。
public class TestClass
{
TestClass(int i)
{
}
static TestClass()
: this(1)
{
}
}
有人请解释一下这种行为?
您的第一个代码中有两个错误:
- 不能使用参数定义
static
构造函数。 - 不能调用构造函数
static
。在第一次使用类之前,框架会为您调用它(但您无法确切地说出何时)。
阅读有关 MSDN 上的静态构造函数的详细信息:静态构造函数(C# 编程指南)