Скажите, у меня есть следующее:
class Base {
public Base (int n) { }
public Base (Object1 n, Object2 m) { }
}
class Derived : Base {
string S;
public Derived (string s, int n) : base(n) {
S = s;
}
public Derived (string s, Object1 n, Object2 m) : base(n, m) {
S = s; // repeated
}
}
Обратите внимание, что мне нужен формальный аргумент n в обеих перегрузках Derived, и поэтому я должен повторить строку N = n;
.
Теперь я знаю, что это может быть заключено в отдельный метод, но вам все равно нужны одни и те же два вызова метода из обеих перегрузок. Итак, есть ли более «элегантный» способ сделать это, возможно, используя this
в сочетании с base
?
Это так, что у меня может быть личный конструктор, принимающий один аргумент s
, а две другие перегрузки могут вызывать его ... или это может быть то же самое, что иметь отдельный закрытый метод?