我在圍繞這個問題時遇到了麻煩。我有2個構造函數。第一個有兩個參數:如何使用無參構造函數調用帶有2個參數的構造函數?
public Instrument(string name, string category)
{
this.Name = name;
this.Category = category;
}
然後,我有一個默認的(無參數)構造函數常數默認:
public Instrument()
{
this.Name = DefaultName;
this.Category = DefaultCategory;
}
我也應該從無參數的構造函數調用2參數的構造函數。我該怎麼做呢?我也質疑爲什麼這甚至是必要的。如果您從默認值調用2參數,您將如何將默認值傳遞給應用程序?所以我想我的主要問題是如何從默認構造函數調用2參數構造函數?
關於將默認值傳遞給默認構造函數:目的通常是通過類/庫作者內置的常量提供默認值來簡化類的使用。因此,尋求使用默認值的客戶端只需簡單地調用構造函數就可以不帶參數,這樣做的好處是不必提供2個參數,除非需要覆蓋默認值。 – condiosluzverde 2014-12-05 04:04:17
所以在上面的「這個」部分正在調用2參數的構造函數?但它只是通過默認值?也許我一直在想這個。我的頭說如果你調用2參數的構造函數,你會得到2個參數,而不是默認值。 – ScottT 2014-12-05 04:11:22
是的,這個關鍵字引用當前類,所以'this(arg1,arg2)'調用構造函數,傳遞默認值。它基本上與用戶調用傳遞默認信息的2參數構造函數相同,只是用戶不需要如果他們需要默認信息 – Shadow 2014-12-05 04:14:49