Escribí un atributo de propiedad personalizado y lo configuré en un par de propiedades en mi clase. Ahora me gustaría durante el tiempo de ejecución obtener solo propiedades que tengan este atributo, ser capaz de obtener el valor de la propiedad, así como los valores de los campos de los atributos. ¿Podrías por favor ayudarme con esta tarea? gracias por la ayudaObtener todas las propiedades con los valores de reflexión
5
A
Respuesta
0
Hay un artículo (con ejemplos de código) sobre cómo hacer esto aquí: https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6099345.html
y varios otros lugares, como se encuentra en esta búsqueda: http://www.bing.com/search?q=use+reflection+to+get+properties+and+values&src=IE-SearchBox&FORM=IE8SRC
0
Puede utilizar PropertyInfo.Attributes
13
Aquí hay un ejemplo:
void Main()
{
var myC = new C { Abc = "Hello!" };
var t = typeof(C);
foreach (var prop in t.GetProperties())
{
var attr = prop.GetCustomAttributes(typeof(StringLengthAttribute), true).Cast<StringLengthAttribute>().FirstOrDefault();
if (attr != null)
{
var attrValue = attr.MaximumLength; // 100
var propertyValue = prop.GetValue(myC, null); // "Hello!"
}
}
}
class C
{
[StringLength(100)]
public string Abc {get;set;}
}
Cuestiones relacionadas
- 1. ¿Cómo obtener todas las propiedades estáticas y sus valores de una clase que utilizan la reflexión
- 2. C# - Valores de propiedades recursivas/de reflexión
- 3. clase de reflexión PHP. ¿Cómo obtener los valores de las propiedades?
- 4. Reflexión: compruebe que todas las propiedades que admiten nulos tienen valores
- 5. Clase de reflexión para obtener todas las propiedades de cualquier objeto
- 6. Maven: Resumen de los valores de las propiedades de Maven
- 7. Cómo imprimir recursivamente los valores de las propiedades de un objeto usando la reflexión
- 8. ¿Existe un método de navegación cruzada para obtener los valores CSS utilizados de todas las propiedades de todos los elementos?
- 9. Muelle - Sustitución de los valores de las propiedades de los frijoles con los nuevos valores del Archivo de propiedades
- 10. Reflejo de Javascript: ¿obtiene todas las propiedades de un objeto?
- 11. Establecer las propiedades de un objeto a través de la reflexión con diferentes propiedades tipos
- 12. C establecer valores de propiedades a través de la reflexión con los atributos #
- 13. Obteniendo todas las clases internas por reflexión
- 14. Obtener propiedades y valores del objeto desconocido
- 15. Obtener todas las propiedades para una clase de DBpedia
- 16. Rhino: ¿Cómo obtener todas las propiedades de ScriptableObject?
- 17. Obtener propiedades en orden de declaración utilizando la reflexión
- 18. Usar la reflexión para obtener valores de propiedades de una lista de una clase
- 19. ¿Hay un método .NET incorporado para obtener todas las propiedades y valores para un objeto?
- 20. Obtención de JavaScript para todas las propiedades
- 21. C#: Cómo obtener todas las propiedades de cadena públicas (tanto obtener y establecer) de un tipo
- 22. Obtener todas las propiedades que marcaron cierto atributo
- 23. Obtener las propiedades de un tipo dinámico
- 24. ¿Listar todas las propiedades del objeto ventana?
- 25. Asignación de todas las propiedades de tipo 'X' con AutoMapper
- 26. Cómo enumerar todas las propiedades de clase
- 27. ¿Reflejando todas las propiedades de una interfaz, incluidas las heredadas?
- 28. Obtener todas las columnas de todas las tablas MySQL
- 29. ¿Cómo puedo obtener una lista de todas las propiedades de un ABRecordRef?
- 30. C#: Obtener los valores máximo y mínimo de propiedades arbitrarias de todos los elementos de una lista
Estoy bastante seguro de que este es un duplicado, pero no he encontrado un partido. Encontré el relacionado [Comprobar si la propiedad tiene atributo] (http://stackoverflow.com/questions/2051065/check-if-property-has-attribute) y [Encontrar los atributos en las propiedades de una instancia de una clase] (http://stackoverflow.com/questions/2999035/finding-the-attributes-on-the-properties-of-an-instance-of-a-class). –