构造函数()中使用的关键字是什么:关键字

时间:2018-01-26 22:38:28

标签: c# constructor this base

我开始学习C#,我在继承中看到了这一点:

derivedClass(): base() 

然后我在另一个例子中注意到使用:

Constructor(): this(parameter) 

我不太了解

我的问题是使用像这样使用的关键字

Constructor() : Keyword 

有个名字吗?它们有哪些,有用吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

如描述here

base关键字用于从派生类中访问基类的成员:1

  • 在基类上调用已被其他方法覆盖的方法。

  • 指定在创建派生类的实例时应调用哪个基类构造函数。

第二颗子弹就是你要找的东西。 derivedClass有一个没有参数的constrcutor,它调用基类的无参数构造函数。

关于this,它指的是该类的当前实例。所以调用这个Constructor()会调用另一个应该在类中定义的构造函数,它需要一个参数。

答案 1 :(得分:0)

规范将这些引用为 constructor-initializers ,并将thisbase列为有效。来自规范:

  

10.11.1构造函数初始值设定项

     

所有实例构造函数(类对象除外)都隐式包含对另一个的调用   紧接在构造函数体之前的实例构造函数。该   隐式调用的构造函数由   constructor-initializer:

     

•的实例构造函数初始值设定项   form base argument-listopt )会导致实例构造函数   要调用的直接基类。 ...

     

•表单的实例构造函数初始值设定项   this argument-listopt )会导致类中的实例构造函数   本身被调用。 ...