我有一个有时用初始化列表创建的类,必须在其中添加一个新属性,在大多数情况下,它应该只包含对自身的引用。为了可视化,请参加以下课程。
public class Test{
int number1;
int number2;
List<Test> testList;
}
使用显式构造函数,我会做类似的事情
public Test(int num1, int num2){
number1 = num1;
number2 = num2;
testList.Add(this);
}
但是由于现有代码的存在,要更改所有出现的内容将需要进行大量工作,编写每次调用的单个函数并将其插入列表中将更容易。
Microsoft在其网站上有以下内容:
对象初始化程序使您可以在创建时将值分配给对象的任何可访问字段或属性,而不必调用构造函数,而后接赋值语句行。使用对象初始化器语法,可以为构造函数指定参数或省略参数(和括号语法)。
但是应该有某种要重载的功能,对吧?