C#继承:当我调用派生类构造函数时,如何调用基类构造函数

Shy*_*yju 6 c# inheritance constructor

我试图弄清楚当我调用派生类构造函数时如何调用基类构造函数.

我有一个名为"AdditionalAttachment"类,这是从System.Net.Mail.Attachment.I继承增加了2个属性,我的新类,这样我可以与我的新特性有现有的附件类的所有属性

public class AdditionalAttachment: Attachment
{
   [DataMember]
   public string AttachmentURL
   {
       set;
       get;
   }
   [DataMember]
   public string DisplayName
   {
       set;
       get;
   }
}
Run Code Online (Sandbox Code Playgroud)

之前我曾经创建过类似的构造函数

// objMs是一个MemoryStream对象

Attachment objAttachment = new Attachment(objMs, "somename.pdf")
Run Code Online (Sandbox Code Playgroud)

我想知道如何为我的类创建相同类型的构造函数,它将执行与基类的上述构造函数相同的操作

Mar*_*ius 13

这会将您的参数传递给基类的构造函数:

public AdditionalAttachment(MemoryStream objMs, string displayName) : base(objMs, displayName)
{
   // and you can do anything you want additionally 
   // here (the base class's constructor will have 
   // already done its work by the time you get here)
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ers 7

您可以编写一个调用类基构造函数的构造函数:

public AdditionalAttachment(MemoryStream objMs, string filename)
    : base(objMs, filename)
{
}
Run Code Online (Sandbox Code Playgroud)


Seb*_*Piu 7

使用此功能:

public AdditionalAttachment(MemoryStream ms, string name, etc...)
       : base(ms, name) 
{
}
Run Code Online (Sandbox Code Playgroud)