Eli*_*eth 5 c# constructor class object instantiation
哪个声明/实例更好?为什么?
public class MainWindow
{
private Test _test;
public MainWindow()
{
_test = new Test();
}
}
Run Code Online (Sandbox Code Playgroud)
要么
public class MainWindow
{
private Test _test = new Test();
public MainWindow()
{
}
}
Run Code Online (Sandbox Code Playgroud)
问自己这个问题:当您添加其他构造函数时会发生什么MainWindow
?您是否想必须记住调用其他构造函数以确保_test
正确初始化?_test
或者如果使用另一个构造函数,可以不初始化吗?
就个人而言,在创建 UI 组件时,我会尽可能多地将故障点从构造函数中移出,并将类似的内容移至Loaded
事件处理程序,或者像选项 2 中那样保留它(这可以使初始化很好地本地化)在文件中)。