Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Serginio1, Вы писали:
S>>Ну мы же можем скопировать тело конструктора предка в конструктор потомка.
S>Для начала — насколько я понял, SG не могут модифицировать код.
Ну мы то генерим для новой структуры все методы предка. Ничего не модифицируем. Мы мо
S>То есть мы уже выбежали за пределы source generator.
S>Далее, если мы попробуем делать какие-то ещё приседания на воображаемом будущем АПИ расширения компилятора: в предке нет никакого тела конструктора. Точно ли мы хотим дописать в конструктор потомка _a = default(), подразумевая семантику Child(int b) : base()?
S>Что делать, если в предке определён параметризованный конструктор?
Ну копируем тело конструктора предка. О чем я и писалю
S>Возникает вопрос: а что за сценарий у нас такой, где нужны именно структуры, и именно наследование?
Ну как раз есть у нас Дженерик тип, но хочется сделать расширение для конкретного типа.
Для класса просто наследуемся от Account<T>, для расширения для конкретного типа
class StringAccount : Account<string>
{
public StringAccount(string id) : base(id)
{
}
}