Это не - проблема в том, что ему нужно вызвать некоторый базовый конструктор, чтобы инициализировать базовый тип, а по умолчанию - это позвонить base()
. Вы можете настроить это, указав конкретный конструктор (и аргументы) самостоятельно в конструкторе производных типов:
class Derived : Base
{
public Derived() : base(123) {}
}
Для параметров base
(или, альтернативно, this
) конструкторов вы можете использовать:
- параметры для текущего конструктора
- литералы / константы
- статические вызовы методов (также с указанным выше)
Например, следующие значения также действительны, используя все три пункта выше:
class Derived : Base
{
public Derived(string s) : base(int.Parse(s, NumberStyles.Any)) {}
}