Quiero crear un tipo anónimo que pueda establecer dinámicamente el nombre de la propiedad. no tiene que ser un tipo anónimo. Todo lo que quiero lograr es establecer los nombres de propiedades de los objetos dinámicamente. Puede ser ExpandoObject, etc. Pero el diccionario no funcionará para mí. ¿Cuáles son sus sugerencias? muchas gracias¿Crear un tipo anónimo dinámicamente?
Respuesta
Solo ExpandoObject
pueden tener propiedades dinámicas.
Editar: Aquí está un ejemplo de Expand Object uso (de su descripción de MSDN):
dynamic sampleObject = new ExpandoObject();
sampleObject.TestProperty = "Dynamic Property"; // Setting dynamic property.
Console.WriteLine(sampleObject.TestProperty);
Console.WriteLine(sampleObject.TestProperty .GetType());
// This code example produces the following output:
// Dynamic Property
// System.String
dynamic test = new ExpandoObject();
((IDictionary<string, object>)test).Add("DynamicProperty", 5);
Console.WriteLine(test.DynamicProperty);
sí, yo sé de eso. pero ¿puedo establecer la propiedad ExpandoObjects desde una matriz de cadenas, por ejemplo? – ward87
... bueno, o cualquier otro tipo que implemente 'IDynamicMetaObjectProvider'. –
ExpandoObject implementa 'IDictionary
Puedes lanzar ExpandoObject
a un diccionario y poblar esa manera, a continuación, las teclas que se establezca se aparecen como nombres de propiedades en ExpandoObject ...
dynamic data = new ExpandoObject();
IDictionary<string, object> dictionary = (IDictionary<string, object>)data;
dictionary.Add("FirstName", "Bob");
dictionary.Add("LastName", "Smith");
Console.WriteLine(data.FirstName + " " + data.LastName);
+1 Eso es bastante salvaje y no sabía que la dinámica tenía esta capacidad. Otros idiomas tienen capacidades similares, y esto ciertamente tendría algunos casos de uso geniales. Por otro lado, también podría ser abusado bastante terriblemente y debería usarse con el debido respeto. – AaronLS
- 1. Crear un tipo anónimo a partir de la reflexión ParamInfo []
- 2. Cómo usar Expression para crear un tipo anónimo?
- 3. ¿Cómo agregar propiedades al objeto anónimo dinámicamente?
- 4. Transmitido a tipo anónimo
- 5. Tipo anónimo y tupla
- 6. Determinar si un tipo es un tipo anónimo
- 7. Dinámicamente Crear un tipo genérico para la plantilla
- 8. ¿Cómo probar si un tipo es anónimo?
- 9. Establezca dinámicamente el nombre de propiedad de un tipo anónimo de C#
- 10. ¿Puede un tipo anónimo heredar de otro tipo?
- 11. ¿Cómo puedo devolver un tipo anónimo desde un método?
- 12. Convertir Anónimo Tipo de Clase
- 13. tipo anónimo y propiedades múltiples
- 14. Cómo crear un FloatBuffer dinámicamente
- 15. ¿Cómo deserializar usando JSON.Net a un tipo anónimo?
- 16. crear dinámicamente una enumeración
- 17. Emitir un tipo anónimo en Objeto y recuperar un campo
- 18. es posible tener un campo condicional en un tipo anónimo
- 19. Cómo crear árbol de expresión LINQ para seleccionar un tipo anónimo
- 20. Cree routeValues (tipo anónimo) programáticamente en ASP.NET MVC 3
- 21. Devolviendo el tipo anónimo en C#
- 22. C# - convertir el tipo anónimo en observablecollection
- 23. Devolver Tipo anónimo desde una función
- 24. DataGridVIew poblado con tipo anónimo, ¿cómo filtrar?
- 25. Propiedades de tipo anónimo de referencia
- 26. Anónimo tipo de evento repetidor DataBound
- 27. Tipo anónimo a refactorización de clase real
- 28. C# Anónimo Acceso Tipo de otro método
- 29. Obtener el valor de tipo anónimo
- 30. ¿Cómo pedir un IEnumerable <T> de tipo anónimo?
¿Por qué un diccionario no funciona para usted? – dtb
cos tengo que vincularlo a un datasource de una grilla telerik y también añado dinámicamente las columnas de la grilla. – ward87