C# Inheritance: How to invoke the base class constructor when i call the derived class constructor
I am trying to figure out how to invoke a base class constructor when I call the derived class constructor.
I have a class called "AdditionalAttachment" which is inherited from System.Net.Mail.Attachment.I have added 2 more properties to my new class so that i can have all the properties of existing Attachment class with my new properties
public class AdditionalAttachment: Attachment
{
[DataMember]
public string AttachmentURL
{
set;
get;
}开发者_Go百科
[DataMember]
public string DisplayName
{
set;
get;
}
}
Earlier i used to create constructor like
//objMs is a MemoryStream object
Attachment objAttachment = new Attachment(objMs, "somename.pdf")
I am wondering how can I create the same kind of constructor to my class which will do the same thing as of the above constructor of the base class
This will pass your parameters into the base class's constructor:
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)
}
You can write a constructor that calls the class base constructor:
public AdditionalAttachment(MemoryStream objMs, string filename)
: base(objMs, filename)
{
}
Use this function:
public AdditionalAttachment(MemoryStream ms, string name, etc...)
: base(ms, name)
{
}
public class AdditionalAttachment: Attachment
{
public AdditionalAttachment(param1, param2) : base(param1, param2){}
[DataMember]
public string AttachmentURL
{
set;
get;
}
[DataMember]
public string DisplayName
{
set;
get;
}
}
精彩评论