valores una recorrer propiedades propertytype obtener objetos objeto net lista clase c# .net reflection

una - recorrer lista de objetos c#



Usar PropertyInfo para descubrir el tipo de propiedad (1)

Use PropertyInfo.PropertyType para obtener el tipo de la propiedad.

public bool ValidateData(object data) { foreach (PropertyInfo propertyInfo in data.GetType().GetProperties()) { if (propertyInfo.PropertyType == typeof(string)) { string value = propertyInfo.GetValue(data, null); if value is not OK { return false; } } } return true; }

Quiero analizar dinámicamente un árbol de objetos para hacer una validación personalizada. La validación no es importante como tal, pero quiero entender mejor la clase PropertyInfo.

Haré algo como esto,

public bool ValidateData(object data) { foreach (PropertyInfo propertyInfo in data.GetType().GetProperties()) { if (the property is a string) { string value = propertyInfo.GetValue(data, null); if value is not OK { return false; } } } return true; }

Realmente, la única parte que me importa en este momento es ''si la propiedad es una cadena''. ¿Cómo puedo averiguar de un objeto PropertyInfo de qué tipo es?

Tendré que lidiar con cosas básicas como cadenas, ints, dobles. Pero también tendré que ocuparme de los objetos, y si es así, tendré que atravesar el árbol de objetos más abajo dentro de esos objetos para validar los datos básicos dentro de ellos, también tendrán cadenas, etc.

Gracias.