我开始学习C#,我在继承中看到了这一点:
derivedClass(): base()
然后我在另一个例子中注意到使用:
Constructor(): this(parameter)
我不太了解
我的问题是使用像这样使用的关键字
Constructor() : Keyword
有个名字吗?它们有哪些,有用吗?
谢谢!
答案 0 :(得分:2)
如描述here:
base
关键字用于从派生类中访问基类的成员:1
在基类上调用已被其他方法覆盖的方法。
指定在创建派生类的实例时应调用哪个基类构造函数。
第二颗子弹就是你要找的东西。 derivedClass
有一个没有参数的constrcutor,它调用基类的无参数构造函数。
关于this
,它指的是该类的当前实例。所以调用这个Constructor()
会调用另一个应该在类中定义的构造函数,它需要一个参数。
答案 1 :(得分:0)
规范将这些引用为 constructor-initializers ,并将this
和base
列为有效。来自规范:
10.11.1构造函数初始值设定项
所有实例构造函数(类对象除外)都隐式包含对另一个的调用 紧接在构造函数体之前的实例构造函数。该 隐式调用的构造函数由 constructor-initializer:
•的实例构造函数初始值设定项 form
base
( argument-listopt )会导致实例构造函数 要调用的直接基类。 ...•表单的实例构造函数初始值设定项
this
( argument-listopt )会导致类中的实例构造函数 本身被调用。 ...