我有一个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
字段的初始化?
答案 0 :(得分:1)
base的字段是继承的,可以像派生字段一样设置:
var evt = new SampleEvent {
evt = str,
thing = "thing1",
otherthing = "thing2"
};
如果你想在一个集中的地方做这件事,我会写一个帮助方法。生成的代码是部分代码,因此您可以使用该功能将方法添加到生成的类中。您还可以使用扩展方法,或者是实例工厂的普通辅助静态方法。