在C#中,构造函数链是指一个构造函数调用另一个构造函数
public class MyClass
{
private int a;
private int b;
// 默认构造函数
public MyClass() : this(0, 0)
{
// 你可以在这里添加更多的初始化代码
}
// 带有两个参数的构造函数
public MyClass(int a, int b)
{
this.a = a;
this.b = b;
}
// 带有一个参数的构造函数,通过调用带有两个参数的构造函数来初始化
public MyClass(int a) : this(a, 0)
{
// 你可以在这里添加更多的初始化代码
}
}
在这个例子中,我们定义了三个构造函数。当调用不带参数的构造函数时,它会调用带有两个参数的构造函数,将a
和b
都设置为0。当调用带有一个参数的构造函数时,它会调用带有两个参数的构造函数,将b
设置为0,而a
则根据传入的参数值进行设置。这样,我们可以通过构造函数链简化代码并确保所有的构造函数都能正确地初始化对象。