Voglio analizzare dinamicamente un albero di oggetti per eseguire una convalida personalizzata. La convalida non è importante in quanto tale, ma voglio capire meglio la classe PropertyInfo.
Farò qualcosa di simile
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;
}
In realtà l'unica parte che mi interessa al momento è "se la proprietà è una stringa". Come posso scoprire da un oggetto PropertyInfo di che tipo è.
Dovrò occuparmi di cose di base come stringhe, int, doppi. Ma dovrò anche occuparmi degli oggetti, e in tal caso dovrò attraversare l'albero degli oggetti più in basso all'interno di quegli oggetti per convalidare i dati di base al loro interno, avranno anche stringhe ecc.
Grazie.