functions dynamically create c# dynamic expandoobject

dynamically - dynamic properties c#



Agregar propiedad a ExpandoObject con el mismo nombre que una cadena (2)

Emitir ExpandoObject a IDictionary<string,object> para hacer esto:

string propName = "ProductNumber"; dynamic obj = new System.Dynamic.ExpandoObject(); var dict = (IDictionary<string,object>)obj; dict[propName] = 123;

¿Hay alguna manera de agregar una propiedad a un ExpandoObject con el mismo nombre que un valor de cadena?

Por ejemplo, si tengo:

string propName = "ProductNumber"; dynamic obj = new System.Dynamic.ExpandoObject();

Puedo crear la propiedad ProductNumber como:

obj.ProductNumber = 123;

Pero, ¿puedo crear la propiedad obj.ProductNumber basada en la cadena propName ? Entonces, si no sé cuál será el nombre de la propiedad en avanzado, puedo crearlo en base a esta entrada. Si esto no es posible con ExpandoObject, ¿debería considerar otras áreas de C # I?


ExpandoObject implementa IDictionary<string, object> :

((IDictionary<string, object>)obj)[propName] = propValue

No sé si puede usar la sintaxis del indexador con una referencia dynamic (es decir, sin el elenco), pero ciertamente puede intentarlo y descubrirlo.