Multiple Constructors with complex logic
In C#, if you have multiple constructors, you can do something like this:

    public MyClass(Guid inputId, string inputName){
        // do something
    }

    public MyClass(Guid inputId): this(inputId, "foo") {}

The idea is of course code reuse. However, what is the best approach when there is a bit of complex logic needed? Say I want this contructor:

    public MyClass(MyOtherClass inputObject)
    {
        Guid inputId = inputObject.ID;
        MyThirdClass mc = inputObject.CreateHelper();
        string inputText = mc.Text;
        mc.Dispose();
        // Need to call the main Constructor now with inputId and inputText
     }

the caveat here: I need to create an object that **has** to be disposed after use. However, I did not see a way to just call the base constructor again if I add some code inside my overloaded constructor. Is there a way to call the base constructor from within an overloaded one?

Or is it possible to use

    public MyClass(MyOtherClass inputObject): this(inputObject.ID, inputObject.CreateHelper().Text) {}

Would this automatically Dispose the generated Object from CreateGelper()?
Multiple Constructors with complex logic
===

In C#, if you have multiple constructors, you can do something like this:

    public MyClass(Guid inputId, string inputName){
        // do something
    }

    public MyClass(Guid inputId): this(inputId, "foo") {}

The idea is of course code reuse. However, what is the best approach when there is a bit of complex logic needed? Say I want this contructor:

    public MyClass(MyOtherClass inputObject)
    {
        Guid inputId = inputObject.ID;
        MyThirdClass mc = inputObject.CreateHelper();
        string inputText = mc.Text;
        mc.Dispose();
        // Need to call the main Constructor now with inputId and inputText
     }

the caveat here: I need to create an object that **has** to be disposed after use. However, I did not see a way to just call the base constructor again if I add some code inside my overloaded constructor. Is there a way to call the base constructor from within an overloaded one?

Or is it possible to use

    public MyClass(MyOtherClass inputObject): this(inputObject.ID, inputObject.CreateHelper().Text) {}

Would this automatically Dispose the generated Object from CreateGelper()?