C#继承和"this"关键字

plo*_*osh 3 c# inheritance overloading

我正在编写一些以前由其他开发人员编写的代码,我遇到了下面的代码块:

/// <summary>
/// Default Constructor.
/// </summary>
public Body(Revision parent)
{
  mContainer = parent;
  mSections = new ArrayList();
  mSummary = new ArrayList();
}

/// <summary>
/// Constructs a Body from specified ParseElement.
/// </summary>
/// <param name="parent">Revision container.</param>
/// <param name="elem">Source ParseElement.</param>
public Body(Revision parent, ParseElement elem) : this(parent)
{more constructing stuff}
Run Code Online (Sandbox Code Playgroud)

根据我的理解,重载的构造函数也会使用我发送的Revision调用默认构造函数,从而导致可以从重载的构造函数访问初始化的ArrayLists.这是正确的,还是我完全糊涂了?

cdh*_*wie 12

对,那是正确的.但是,要纠正您的术语:

  • 除了可能的无参数构造函数之外,没有"默认构造函数",该构造函数似乎不存在于此类中.
  • 这与继承没有任何关系.这种技术实际上称为构造函数链接.