在 Bond 中初始化继承结构

Initializing inherited structs in Bond

我有一个 Bond 架构(理想情况下)会有一些继承的字段:

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 字段的初始化?

基础的字段是继承的,可以像派生的字段一样设置:

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

如果你想在一个集中的地方做这件事,我会写一个辅助方法。生成的代码是部分代码,因此您可以使用该功能向生成的 类 添加方法。您还可以使用扩展方法,或作为实例工厂的普通旧辅助静态方法。