Инициализация унаследованных структур в Bond - PullRequest
0 голосов
/ 11 мая 2018

У меня есть схема Бонда, которая (в идеале) будет иметь некоторые унаследованные поля:

struct Context
{
    10: required string thing;
    20: required string otherthing;
};

struct SampleEvent : Context
{
    20: required wstring evt;
};

и когда я создаю свой производный объект (SampleEvent), я могу сделать это так:

        SampleEvent evt = new SampleEvent { evt = str };

но где я могу настроить инициализацию полей Context?

1 Ответ

0 голосов
/ 14 мая 2018

Поля базы наследуются и могут быть установлены так же, как поля производных:

var evt = new SampleEvent {
    evt = str,
    thing = "thing1",
    otherthing = "thing2"
};

Если вы хотите сделать это в централизованном месте, я бы написал вспомогательный метод.Сгенерированный код является частичным, поэтому вы можете использовать эту функциональность для добавления методов к сгенерированным классам.Вы также можете использовать методы расширения или обычный старый вспомогательный статический метод, который является фабрикой для экземпляров.

...