什么是'this'构造函数,它是什么

时间:2013-09-10 21:59:22

标签: c# .net constructor this

我正在学习过程中,我有一个问题,我找不到满意的答案。

this我需要一个简介。我一直看到它,人们已经建议修复我使用它的代码。我真的不知道它究竟是做什么的。如果有人愿意给我一个基本的破坏,我会非常高兴。

4 个答案:

答案 0 :(得分:10)

它用于引用同一个类中的另一个构造函数。你用它来“继承”另一个构造函数:

public MyClass() {}

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

在上面,当调用第二个构造函数时,它会在执行自身之前首先执行无参数构造函数。请注意,使用: this()等同于: base(),除非它引用同一类中的构造函数,而不是父类。

有一篇关于构造函数here (MSDN)的文章,它提供了一个用法示例:

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

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

答案 1 :(得分:2)

它用于调用类中的另一个构造函数:

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

    }

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

}

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

答案 2 :(得分:0)

此关键字在许多上下文中使用,只有复制整个权威来源才能提供完整的答案。 The C# Language Reference

  

this关键字引用类的当前实例,并且是   也用作扩展方法的第一个参数的修饰符。

答案 3 :(得分:0)

this关键字引用类的当前实例,并且还用作扩展方法的第一个参数的修饰符。

请参阅:http://msdn.microsoft.com/en-us/library/vstudio/dk1507sz(v=vs.120).aspx