Agregar dinámicamente miembros a un objeto dinámico
Estoy buscando una manera de agregar miembros dinámicamente a un objeto dinámico. OK, supongo que se necesita una pequeña aclaración ...
Cuando haces eso:
dynamic foo = new ExpandoObject();
foo.Bar = 42;
losBar
La propiedad se agregará dinámicamente en tiempo de ejecución. Pero el código aún se refiere "estáticamente" a Bar (el nombre "Bar" está codificado) ... ¿Qué sucede si deseo agregar una propiedad en tiempo de ejecución sin saber su nombre en el momento de la compilación?
Sé cómo hacer esto con un objeto dinámico personalizado (en realidadblogueó al respecto Hace unos meses), utilizando los métodos de laDynamicObject
clase, pero como puedo hacerlo conalguna objeto dinámico?
Probablemente podría usar elIDynamicMetaObjectProvider
Interfaz, pero no entiendo cómo usarlo. Por ejemplo, ¿qué argumento debo pasar a laGetMetaObject
método? (se espera unaExpression
)
Y, por cierto, ¿cómo realiza la reflexión en objetos dinámicos? Reflexión "regular" yTypeDescriptor
no mostrar los miembros dinámicos ...
Cualquier idea sería apreciada !