Je personnalise comment un type d'objet est affiché dans un PropertyGrid
en implémentant ICustomTypeDescriptor
. Je permets à l'utilisateur de créer ses propres propriétés personnalisées qui sont stockées dans un seul dictionnaire de clés et de valeurs. Je suis en mesure de créer tous les PropertyDescriptors
pour ces valeurs et les afficher dans la grille des propriétés. Cependant, je veux également montrer toutes les propriétés par défaut qui auraient autrement montré si le PropertyGrid
a été rempli par la réflexion plutôt que ma méthode de remplacement ICustomTypeDescriptor.GetProperties
.Récupère les PropertyDescriptors par défaut pour un type
Maintenant, je sais comment obtenir le type de l'objet, puis GetProperties()
, mais cela renvoie un tableau de PropertyInfo
pas ProperyDescriptor
. Alors, comment puis-je convertir l'objet PropertyInfo
en PropertyDescriptor
objets à inclure dans ma collection avec le PropertyDescriptors
personnalisé?
//gets the local intrinsic properties of the object
Type thisType = this.GetType();
PropertyInfo[] thisProps = thisType.GetProperties();
//this line obviously doesn't work because the propertydescriptor
//collection needs an array of PropertyDescriptors not PropertyInfo
PropertyDescriptorCollection propCOl =
new PropertyDescriptorCollection(thisProps);
Merci beaucoup! – Ross