what is 'this' constructor, what is it for

前端 未结 4 966
臣服心动
臣服心动 2020-11-30 15:43

I\'m in the learning process and I have a question I havent been able to find a satisfactory answer for.

this I need a rundown on it. I keep seeing it a

相关标签:
4条回答
  • 2020-11-30 16:05

    It's used to refer to another constructor in the same class. You use it to "inherit" another constructor:

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

    In the above, when the second constructor is invoked, it executes the parameterless constructor first, before executing itself. Note that using : this() is the equivalent of : base(), except it refers to a constructor in the same class, instead of the parent class.

    There's an article about constructors here (MSDN), which provides a usage example:

    public Employee(int annualSalary)
    {
        salary = annualSalary;
    }
    
    public Employee(int weeklySalary, int numberOfWeeks)
        : this(weeklySalary * numberOfWeeks)
    {
    }
    
    0 讨论(0)
  • 2020-11-30 16:23

    The this keyword refers to the current instance of the class and is also used as a modifier of the first parameter of an extension method.

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

    0 讨论(0)
  • 2020-11-30 16:25

    The this keyword is used in many context and giving a complete answer will be possible only replicating the entire authoritative source. The C# Language Reference

    The this keyword refers to the current instance of the class and is also used as a modifier of the first parameter of an extension method.

    0 讨论(0)
  • 2020-11-30 16:27

    It's used to invoke another constructor in the class:

    public class Test {
        public Test() : this("AmazingMrBrock")
        {
    
        }
    
        public Test(string name) 
        {
           Console.WriteLine(name);
        }
    
    }
    

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

    0 讨论(0)
提交回复
热议问题