我想寫出類似下面的東西:C#使用動態關鍵字來訪問通過字符串的屬性,而不反射
// I will pass in a number of "properties" specified as strings that I want modified
string[] properties = new [] { "AllowEdit", "AllowDelete" };
// Casting the component I'm using to a dynamic object of some sort ?
dynamic d = myGridComponent;
// Iterate over the strings and set the properties
foreach(var s in properties)
{
//d.s = true; //
//d[s] = true; // this format would be ideal
}
我在想,如果有一個簡單的方法來做到這一點,而無需使用反射[.GetProperty(...).GetValue(...,...)
]使用新的C#4.0關鍵字:dynamic
。
似乎可能有某種方式,...我只是不確定確切的機制,並沒有找到合適的資源將所有的東西放在一起。
想法?
[編輯] 它看起來像有一個名爲「粘土」的包,以某種方式實現這種類型的功能。 Clay on CodePlex
Scott Hanselman on the Subject
哇真酷的解決方案,我正在尋找這個確切的東西! – 2012-06-28 06:35:15