C # Verwenden des Schlüsselworts Dynamic, um über Zeichenfolgen ohne Reflektion auf Eigenschaften zuzugreifen
Ich möchte etwas Ähnliches wie das Folgende schreiben:
// 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
}
Ich habe mich gefragt, ob es einen einfachen Weg gibt, dies ohne Reflection zu tun .GetProperty(...).GetValue(...,...)
] mit dem neuen C # 4.0-Schlüsselwort:dynamic
.
Es scheint, dass es einen Weg geben könnte, ... Ich bin mir nur nicht sicher über den genauen Mechanismus und konnte nicht die richtige Ressource finden, um alle Teile zusammenzusetzen.
Gedanken
[EDIT] Es sieht so aus, als gäbe es ein Paket namens "Clay", das diese Art von Funktionalität auf irgendeine Weise implementiert.Clay on CodePlex
Scott Hanselman zum Thema