2014-11-24 76 views

回答

7

: this(…)構造函數調用之後的另一個具有指定參數的構造函數。例如:

public class A 
{ 
    public A (string foo) 
    { 
     Console.WriteLine(foo); 
    } 

    public A() : this("foo bar") 
    {} 
} 

這將允許您創建的A一個對象,並傳遞一個字符串來定製它的輸出;或者你可以調用它沒有參數導致第二個構造函數被調用,它本身調用第一個以"foo bar"作爲參數。

還有一個類似的關鍵字,當A從其他類繼承時使用。在這種情況下,你可以使用base,而不是this直接調用基類的構造函數:

public class A : B 
{ 
    public A() : base("foo bar") 
    {} 
} 

所以,當你現在創建的A的對象,而A的構造函數會調用的B一個構造函數,接受那裏有一個字符串並通過"foo bar"

欲瞭解更多信息,請參閱C#編程指南的「Using constructors」部分。

3

如果參數的構造函數被調用時,它將調用構造接受一個字符串,傳遞".."。在你的情況下,雖然沒有這樣的構造函數,所以代碼不會編譯。

相關問題