Merci, cela m'a vraiment aidé dans une pincée aujourd'hui. J'avais des informations d'audit sauvegardées, mais avec une casse incorrecte sur les noms de propriété. (L’audit est intégré à une couche de données.) Quoi qu’il en soit, j’ai donc dû ajouter IgnoreCase en tant qu’indicateur de liaison, mais cela ne fonctionnait toujours pas, jusqu’à ce que mon collègue trouve la réponse. La fonction résultante:
public static void SetProperty(Object R, string propertyName, object value)
{
Type type = R.GetType();
object result;
result = type.InvokeMember(
propertyName,
BindingFlags.SetProperty |
BindingFlags.IgnoreCase |
BindingFlags.Public |
BindingFlags.Instance,
null,
R,
new object[] { value });
}
Cela fait partie d'une classe que j'appelle DotMagic.