If you want to descend from a class that requires parameters passed in its constructor, and you wish to introduce extra parameters in the descedants constructor then when you define the derived classes constructor, simply add : base() to the constructors signiture to get c# to call the inherited constructor.

If you need to pass parameters through to the inherited call, use :base(param1, param2)

As soon as you add a descendant that overrides the parameter list for a classes constructor, any other descendant classes will have to have a constructor implementation, similar to the Derived class below, to let the compiler know which of the inherited constructors needs calling when the descendant class is created. Otherwise a “No overload for method ‘x’ takes ‘0′ arguments” error may occur