是否有一个便利的过程来将属性“调用者”的值在下面的构造函数中分配给一行?便利初始化
public partial class SecurityPrompt : Form {
Form1 Caller { get; set; }
public SecurityPrompt(Form1 _caller) {
Caller = _caller;
InitializeComponent();
}
}
是否有一个便利的过程来将属性“调用者”的值在下面的构造函数中分配给一行?便利初始化
public partial class SecurityPrompt : Form {
Form1 Caller { get; set; }
public SecurityPrompt(Form1 _caller) {
Caller = _caller;
InitializeComponent();
}
}
有object initializer syntax,但创建构造函数,然后分配公共属性。如果你想使用它,你必须在这里重构你的构造函数。
使用对象初始化:
编译器处理由第一访问默认实例构造,然后通过处理部件初始化对象初始化。
如果您确实使用了这个属性,那么在创建构造函数之后才会设置属性。所以,如果你在构造函数中调用期望你的属性在那里的函数,它不会。记住这一点。
是否有方便的过程在构造函数中分配属性“来电”的值下面一行?
不。您当前的语法是在构造函数中分配属性的“标准”方法。没有捷径(如C++'s initialization lists或类似)。在C#中,它总是以内联方式在构造函数体中完成。
不是'Caller = _caller;'已经是单行吗? – dasblinkenlight
你想从2行减少到1? –
我想他是问有没有像C++的初始化列表(C#中没有这样的列表) –