I have a base class with two constructors: a default constructor and a parameterized constructor. Another class inherits from that base class and it only has a default constructor. How can I call the base class's parameterized constructor from the derived class?
It's not entirely clear what your question is, but I suspect you either want to add an explicit parameterless constructor to your child class:
// Parameterless child constructor calling parameterized base constructor
public Child() : base("foo", "bar") {
}
or add both a parameterized and parameterless one:
public Child() {
}
public Child(string foo, string bar) : base(foo, bar) {
}
Note that constructors aren't inherited - so just because a base class has a particular constructor signature doesn't mean you can instantiate a class using that signature. The child class has to provide it itself.
Any compiler-provided parameterless constructor will always call the parameterless constructor of its base class.
Something like this?
class Parent
{
public Parent(){}
public Parent(string s) {}
}
class Child : Parent
{
public Child() : base("42") { }
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With