是否有一個便利的過程來將屬性「調用者」的值在下面的構造函數中分配給一行?便利初始化
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#中沒有這樣的列表) –