Je souhaite analyser dynamiquement une arborescence d'objets pour effectuer une validation personnalisée. La validation n'est pas importante en tant que telle, mais je souhaite mieux comprendre la classe PropertyInfo.
Je vais faire quelque chose comme ça,
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;
}
Vraiment, la seule partie qui me préoccupe pour le moment est «si la propriété est une chaîne». Comment puis-je savoir à partir d'un objet PropertyInfo de quel type il s'agit.
Je vais devoir m'occuper de trucs basiques comme des cordes, des entiers, des doubles. Mais je devrai également m'occuper des objets, et si c'est le cas, je devrai parcourir l'arborescence d'objets plus bas à l'intérieur de ces objets pour valider les données de base à l'intérieur, ils auront également des chaînes, etc.
Merci.