Здравствуйте, Sinclair, Вы писали:
S>> Ну копируем тело конструктора предка. О чем я и писалю
S>Давайте проделаем этот мысленный эксперимент на практике:
S>[Inherits(typeof(Parent))]
S>public partial struct Child
S>{
S> private int _b;
S> public int GetB() = >_b;
S> public Child(int b) => _b = b;
S> {
S> _b = b;
S> _a = a; // error CS0103: The name 'a' does not exist in the current context
S> }
S>}
S>
S>Упс! Тело конструктора предка нам ничем не помогает.
Всегда можно ручками самому прописать, а при генерации проверить есть ли уже такой.
S>>>Возникает вопрос: а что за сценарий у нас такой, где нужны именно структуры, и именно наследование?
S>> Ну как раз есть у нас Дженерик тип, но хочется сделать расширение для конкретного типа.
S>>Для класса просто наследуемся от Account<T>, для расширения для конкретного типа
S>Это прекрасно — но со структурой-то какой сценарий? Почему вам нужна именно структура, а не класс со всеми его преимуществами?
Ну как раз при взаимодействии с нативным кодом, где передаются массив структур.
Ну и на самом деле SG может выступать как специализация из аля шаблона С++. То есть максимально приблизить к нативному коду.
Ну и учитывая
Preview Features in .NET 6 – Generic Math
Еще легче переносить шаблоны С++