why c# does not inherit the constructor from base class

Question

Possible Duplicates:
Constructors and Inheritance
Why are constructors not inherited?

When define class inherited from base class, I have to redefine all its constructors. I am wondering why c# doe snot support inherit from base class's constructors?

Solution

Constructors are not inherited because we wouldn't be able to properly determine how our derived class objects were instantiated. When all derived classes would use parent's constructors implicitly, in my oppinion it would be a problem because if we forgot to redefine constructor, the object might have been initialized incorrectly. If you would like the derived class constructor to do the same as parent class constructor, call it using base.

Also be aware of the fact that the base class constructor (parameterless) is automatically run if you don't call any other base class constructor taking arguments explicitly. So calling base() is redundant.