gpt4 book ai didi

c# - 如何使用 CodeDOM 初始化对象?

转载 作者:太空狗 更新时间:2023-10-29 23:16:28 26 4
gpt4 key购买 nike

我需要像下面这样初始化我的对象:

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[]{});

这是使用括号来初始化而不是括号。有没有 CodeDOM 方法? (我已经使用 stringBuilder 编写了我的代码,但我正在寻找一种 CodeDOM 方法)谢谢

最佳答案

CodeDom 目前不支持 object initializers (或集合初始值设定项,就此而言)。

由于其他技术(例如 T4 templates),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生成上面的,一样的

关于c# - 如何使用 CodeDOM 初始化对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12874738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com