gpt4 book ai didi

c# - 类型化字典类型的 CodeDom InitExpression

转载 作者:行者123 更新时间:2023-11-30 23:31:08 25 4
gpt4 key购买 nike

在 StackExchange 上有几个与此类似的问题,但它们并未涵盖完全相同的情况。请在将其标记为重复之前通读它!

在 C# 中使用 CodeDom,我试图为字典生成一个初始化表达式。例如

Dictionary<int,string> dict = new Dictionary<int,string>{
{1,"one"},
{2,"two"}
};

我找到了其他解决方案,这些解决方案使用 CodeExpression 来实例化对象,然后使用几个 CodeStatements 来填充实例,但由于一堆无聊的原因,我不想走这条路。

澄清一下,因为我不能使用多个代码语句,所以我有点需要避免生成这样的东西:

Dictionary<int,string> dict = new Dictionary<int,string>();
dict.Add(1,"one");
dict.Add(2,"two");

我的问题是: 有没有办法只使用 CodeDom.CodeExpression(s) 生成这样的代码?

我很确定在这一点上答案是否定的,但我认为为了以防万一还是值得一问。

最佳答案

据我所知,您无法在 CodeDOM 对象模型中表达集合初始值设定项。但是有一种方法可以解决这个问题:CodeSnippetExpression .使用它,您可以创建一个直接包含您想要的任何 C# 表达式的字符串,并在另一个 CodeDOM 对象中使用它。

您可以使用 CodeDOM 对象模型和 GenerateCodeFromExpression()获取您需要的部分代码(但您肯定需要自己组合这些部分)。

关于c# - 类型化字典类型的 CodeDom InitExpression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34734884/

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