what is 'this' constructor, what is it for

前端 未结 4 995
臣服心动
臣服心动 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)
    {
    }
    

提交回复
热议问题