C# 通过IDictionary<&燃气轮机;作为属性中的参数,是否可能?

C# 通过IDictionary<&燃气轮机;作为属性中的参数,是否可能?,c#,.net,C#,.net,是否可以将IDictionary作为属性的参数传递: 像这样: [My(new Dictionary<string,object> { ... }] [My(Data = new Dictionary<string,object> {...} )] [My(新词典{…}] 或者像这样: [My(new Dictionary<string,object> { ... }] [My(Data = new Dictionary<string,objec

是否可以将IDictionary作为属性的参数传递: 像这样:

[My(new Dictionary<string,object> { ... }]
[My(Data = new Dictionary<string,object> {...} )]
[My(新词典{…}]
或者像这样:

[My(new Dictionary<string,object> { ... }]
[My(Data = new Dictionary<string,object> {...} )]
[My(Data=newdictionary{…}]

atm我想传递一个json字符串,然后将它转换成
IDictionary

否-对于属性,您必须向它们传递常量值。 也许您可以有多个属性,并公开两个属性

[My(Key = "1234", Value = "1234")]
[My(Key = "4234", Value = "4234")]

当您进行反射时,您可以通过这种方式构建字典。

否,您将得到以下错误:

Error   20
An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type

我还可以问一下为什么要这样做吗?可能有比使用属性更好的解决方案