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 !

Respuestas a la pregunta(4)

Su respuesta a la pregunta