簡體   English   中英

什么是“這個”構造函數,它是做什么用的

[英]what is 'this' constructor, what is it for

我正在學習過程中,我有一個問題,我無法找到滿意的答案。

this我需要一個概要。 我一直看到它,人們已經為我使用它的代碼提出了修復建議。 我真的不知道它到底是做什么的。 如果有人會這么好心給我一個基本的綱要,我會非常高興。

它用於引用同一類中的另一個構造函數。 你用它來“繼承”另一個構造函數:

public MyClass() {}

public MyClass(string something) : this() {}

在上面,當調用第二個構造函數時,它先執行無參數構造函數,然后再執行自己。 請注意,使用: this()等價於: base() ,不同之處在於它指的是同一類中的構造函數,而不是父類。

這里有一篇關於構造函數的文章(MSDN) ,提供了一個使用示例:

public Employee(int annualSalary)
{
    salary = annualSalary;
}

public Employee(int weeklySalary, int numberOfWeeks)
    : this(weeklySalary * numberOfWeeks)
{
}

它用於調用類中的另一個構造函數:

public class Test {
    public Test() : this("AmazingMrBrock")
    {

    }

    public Test(string name) 
    {
       Console.WriteLine(name);
    }

}

http://msdn.microsoft.com/en-us/library/vstudio/ms173115.aspx

this 關鍵字在許多上下文中使用,並且只有復制整個權威來源才能給出完整的答案。 C# 語言參考

this 關鍵字指的是類的當前實例,也用作擴展方法的第一個參數的修飾符。

this關鍵字指的是類的當前實例,也用作擴展方法的第一個參數的修飾符。

請參閱: http : //msdn.microsoft.com/en-us/library/vstudio/dk1507sz(v=vs.120).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM