2

是否有一个方便的过程可以将下面构造函数中的属性“调用者”的值分配给一行?

public partial class SecurityPrompt : Form {

    Form1 Caller { get; set; }

    public SecurityPrompt(Form1 _caller)  {
        Caller = _caller;
        InitializeComponent();
    }
}
4

2 回答 2

2

对象初始化语法,但它创建构造函数,然后分配公共属性。如果你想使用它,你必须在这里重构你的构造函数。

使用对象初始化器:

编译器通过首先访问默认实例构造函数,然后处理成员初始化来处理对象初始化器。

如果您确实使用它,则在创建构造函数之前不会设置您的属性。因此,如果您在构造函数中调用期望您的属性存在的函数,则不会。记住这一点。

于 2012-09-19T15:53:27.497 回答
0

是否有一个方便的过程可以将下面构造函数中的属性“调用者”的值分配给一行?

不,您当前的语法是在构造函数中分配属性的“标准”方式。没有捷径(如C++ 的初始化列表或类似的)。在 C# 中,它总是在构造函数体中内联完成。

于 2012-09-19T15:52:51.837 回答