This won\'t compile:
namespace Constructor0Args
{
class Base
{
public Base(int x)
{
}
}
class Derived : Base
{
}
It isn't - the problem is that it needs to call some base constructor, in order to initialise the base type, and the default is to call base()
. You can tweak that by specifying the specific constructor (and arguments) yourself in the derived-types constructor:
class Derived : Base
{
public Derived() : base(123) {}
}
For parameters to base
(or alternatively, this
) constructors, you can use:
For example, the following is also valid, using all three bullets above:
class Derived : Base
{
public Derived(string s) : base(int.Parse(s, NumberStyles.Any)) {}
}