在Bond中初始化继承的结构

时间:2018-05-11 20:51:45

标签: c# inheritance initialization 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字段的初始化?

1 个答案:

答案 0 :(得分:1)

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

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

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