繁体   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