2009-05-22 6 views
1

Je cherche un moyen de pas référence le nom de la classe, mais encore atteindre l'effet désiré. Je ne peux pas faire ITypedList.GetType() parce que c'est une interface.Comment retourner un type d'interface sans mentionner le nom de la classe dérivée?

public class DerivedList : ITypedList 
... 
public PropertyDescriptorCollection GetItemProperties() 
{ 
    return TypeDescriptor.GetProperties(typeof(DerivedList)); 
} 
... 

Je me demande si c'est possible.

Cheers,
edit: Essayer de le remplacer par quelque chose qui ne mentionne pas son propre nom de classe

+0

Je trouve la question un peu floue, mais il se peut que ce soit moi. Essayez-vous de remplacer cette ligne return TypeDescriptor.GetProperties (typeof (DerivedList)); avec quelque chose qui ne mentionne pas son propre nom de classe? – Jiminy

+0

Oui. Désolé si ce n'était pas clair, je suis tout à fait le débutant ici. – CaptainCasey

Répondre

4

... Absolument

public PropertyDescriptorCollection GetItemProperties() 
    { 
     return TypeDescriptor.GetProperties(this); 
    } 
0

Il suffit d'appeler GetType sur l'instance actuelle:

return TypeDescriptor.GetProperties(this.GetType()); 
Questions connexes