Кажется, что нет никакого синтаксиса языка для указания и this () и base () конструктор.Учитывая следующий код:
public class Bar : Foo
{
public Bar()
:base(1)
//:this(0)
{ }
public Bar(int schmalue)
:Foo(1)
{
//Gobs of initialization code
...
Schmalue = schmalue;
}
public int Schmalue { get; private set; }
}
public class Foo
{
public Foo()
{
Value = 0;
}
public class Foo(int value)
{
Value = value;
}
public int Value { get; private set; }
}
Компилятор выдает ошибку, в которой говорится, что ожидалось '{' при раскомментировании вызова: this (0).Это мешает, потому что заставляет меня выделять код в приватный метод, когда эта функциональность была явно предоставлена для предотвращения подобных вещей.
Я просто делаю это неправильно?Я не пытался использовать разделитель, точку с запятой, запятую ... Кажется, это была просто недосмотр со стороны команды разработчиков.Меня интересует, почему это было опущено, если я поступаю неправильно, или у кого-нибудь есть хорошие предложения по альтернативам.