Eu quero analisar dinamicamente uma árvore de objeto para fazer alguma validação personalizada. A validação não é importante como tal, mas quero entender melhor a classe PropertyInfo.
Estarei fazendo algo assim,
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;
}
Na verdade, a única parte que me interessa no momento é 'se a propriedade for uma string'. Como posso descobrir de um objeto PropertyInfo que tipo é.
Terei que lidar com coisas básicas como cordas, ints, duplos. Mas também terei de lidar com objetos e, se for o caso, precisarei percorrer a árvore de objetos mais para baixo dentro desses objetos para validar os dados básicos dentro deles, eles também terão strings etc.
Obrigado.