Чтобы явно вызывать и базовый конструктор, и этот конструктор класса, вам нужно использовать синтаксис, приведенный ниже (обратите внимание, что в C # вы не можете использовать его для инициализации полей, как в C ++):
class foo
{
public foo (int x, int y)
{
}
public foo (string s) : this(5, 6)
{
// ... do something
}
}
// РЕДАКТИРОВАТЬ: заметил, что вы использовали x, y в вашем примере. Конечно, значения, данные при вызове ctor таким способом, не могут полагаться на параметры другого конструктора, они должны быть разрешены другим способом (они не обязательно должны быть константами, хотя, как в примере отредактированного кода выше). Если x
и y
вычислены из s
, вы можете сделать это следующим образом:
public foo (string s) : this(GetX(s), GetY(s))