me gustaría escribir algo similar a lo siguiente:C# usando la palabra clave dinámica para acceder a las propiedades a través de cadenas sin reflexión
// 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
}
Me preguntaba si había una manera fácil de hacer esto sin usar Reflexión [.GetProperty(...).GetValue(...,...)
] usando la nueva palabra clave C# 4.0: dynamic
.
Parece que puede haber alguna forma ... No estoy seguro del mecanismo exacto y no he podido encontrar el recurso adecuado para unir todas las piezas.
¿Pensamientos?
[EDIT] Parece que hay un paquete llamado "Clay" que implementa este tipo de funcionalidad de alguna manera. Clay on CodePlex
Scott Hanselman on the Subject
¡Solución realmente genial, estaba buscando esto exactamente! –