Quiero analizar dinámicamente un árbol de objetos para realizar una validación personalizada. La validación no es importante como tal, pero quiero comprender 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 qué tipo es?
Tendré que lidiar con cosas básicas como cuerdas, ints, dobles. Pero también tendré que lidiar con los objetos y, de ser así, tendré que recorrer 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.
c#
.net
reflection
pedro
fuente
fuente
string
yString
somos iguales.string
es un alias deString
.string
es un aliasSystem.String
. Podría marcar la diferencia porque para usarloString
debes agregar lausing System;
línea. Mis 2 centavos;)Me acabo de encontrar con esta gran publicación. Si solo está verificando si los datos son de tipo cadena, tal vez podamos omitir el ciclo y usar esta estructura (en mi humilde opinión)
fuente