6

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; } [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

1

4 Answers 4

13

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) } 
Sign up to request clarification or add additional context in comments.

Comments

7

You can write a constructor that calls the class base constructor:

public AdditionalAttachment(MemoryStream objMs, string filename) : base(objMs, filename) { } 

Comments

7

Use this function:

public AdditionalAttachment(MemoryStream ms, string name, etc...) : base(ms, name) { } 

Comments

3
public class AdditionalAttachment: Attachment { public AdditionalAttachment(param1, param2) : base(param1, param2){} [DataMember] public string AttachmentURL { set; get; } [DataMember] public string DisplayName { set; get; } } 

1 Comment

the are not, it was only for demonstration purpose.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.