2011-03-29 76 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 
相關問題