Geek Quizz XII : les mysteres du binding
Allez, voici encore un petit quizz plus orienté framework que langage.
Le binding est une architecture composée de nombreuses classes dont la plupart sont utilisées de manière transparente.
Quelle est donc la différence entre ces deux méthodes qui paraissent si semblables ?
TypeDescriptor.GetProperties(object component);
TypeDescriptor.GetProperties(Type componentType);
Comments
Anonymous
August 19, 2007
La version avec un type en paramêtre est utilisée par les designer pour definir les propriétés pour un binding. Normalement pour un objet donné les 2 méthodes devraient donner le même résultat. Mais si l'objet implémente l'interface ICustomTypeDescriptor la version avec le type en paramêtre ne permet pas de récuperer les binding créés par la méthode GetProperties() hérité de l'interface, ce que permet la version avec l'objet en paramêtre. Dans ce cas les 2 méthodes ne renvoient pas les mêmes résultats.Anonymous
August 19, 2007
La 2e méthode renvoit les propriétés statiques de "componentType" il me semble.Anonymous
August 19, 2007
D'accord avec Mitch. L'interface ITypedList permet, elle aussi, de modifier la liste des PropertyDescriptor.Anonymous
August 19, 2007
The comment has been removed