Quiero analizar dinámicamente un árbol de objetos para hacer algunas validaciones personalizadas. La validación no es importante como tal, pero quiero entender mejor la clase PropertyInfo.Uso de PropertyInfo para encontrar el tipo de propiedad
Voy a hacer 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 ocuparme de 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.
Genial. Voy a intentar esto. ¿Es typeof (string) y typeof (String) equivalente? ¿Lo anterior con tanto una cadena como una cadena? – peter
OK, escribí algunas pruebas unitarias y funciona de maravilla. De hecho, trata a Cadena y Cadena de la misma manera. Lo esperaba, pero solo quería asegurarme. – peter
@peter Sí, 'string' y' String' son iguales. 'string' es un alias para' String'. – bump