C# 如何使用CodeDOM初始化对象?
我需要初始化我的对象,如下所示:C# 如何使用CodeDOM初始化对象?,c#,codedom,C#,Codedom,我需要初始化我的对象,如下所示: var obj = new EduBranch { Id = model.Id, WorklevelId = model.WorklevelId, EdulevelId = model.EdulevelId, Title = model.Title, StartEduYearId = model.StartEduYearId, EndEduYearId = model.EndEduYearId, }; 但在Cod
var obj = new EduBranch {
Id = model.Id,
WorklevelId = model.WorklevelId,
EdulevelId = model.EdulevelId,
Title = model.Title,
StartEduYearId = model.StartEduYearId,
EndEduYearId = model.EndEduYearId,
};
但在CodeDOM中,我只能找到:
var objectCreate1 = new CodeObjectCreateExpression("EduBranch",
new CodeExpression[]{});
这是用括号来初始化,而不是用括号。
有没有一种代码化的方法?(我已经使用stringBuilder编写了我的代码,但我正在寻找一种CodeDOM方法)谢谢CodeDOM目前不支持(或集合初始值设定项) 这些年来,由于其他技术(例如)的原因,CodeDom已经失宠了 也就是说,因为这一行:
var obj = new EduBranch {
Id = model.Id,
WorklevelId = model.WorklevelId,
EdulevelId = model.EdulevelId,
Title = model.Title,
StartEduYearId = model.StartEduYearId,
EndEduYearId = model.EndEduYearId,
};
实际上与以下内容相同:
var obj = new EduBranch();
obj.Id = model.Id;
obj.WorklevelId = model.WorklevelId;
obj.EdulevelId = model.EdulevelId;
obj.Title = model.Title;
obj.StartEduYearId = model.StartEduYearId;
obj.EndEduYearId = model.EndEduYearId;
您可以使用CodeDOM生成上述代码,并获得相同的T4 is代码生成。是的,它在小型、快速项目中占有一席之地,但对于大型web服务或企业应用程序来说,CodeDOM仍然是无可替代的。我唯一的抱怨就是缺少对泛型类型的支持。除此之外,当你有真正的工作要做时,没有什么可以替代的。