2011-03-29 40 views
7

是否有可能通过一个IDictionary作为一个属性的参数: 这样的:通过IDictionary <,>作为属性中的参数,可能吗?

[My(new Dictionary<string,object> { ... }] 

或像这样:

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

ATM我想只是传递一个JSON字符串,改造后它变成IDictionary<string,object>

+0

难道我还问你为什么要这么做?可能比使用属性有更好的解决方案 – 2011-03-29 12:45:13

回答

12

否 - 具有属性,你必须传递恒定值给他们。 也许你可以有两个暴露属性的属性。

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

当你进行反思时,你可以用这种方式建立一个字典。

3

不,你会得到这样的错误:

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