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.