2008-09-18 7 views

Répondre

6

Type.IsAssignableFrom

if(typeof(IMyInterface).IsAssignableFrom(typeof(T))) 
{ 
    // something 
} 
else 
{ 
    // something else 
} 
1

Je pense

if (typeof (IMyInterFace).IsAssignableFrom(typeof(T)) 

devrait aussi fonctionner: mais je ne vois pas d'avantage ...

0

juste essayé d'utiliser Ive

if(typeof(T).Equals(typeof(IMyInterface)) 
    ... 

Et fonctionne aussi, mais votre réponse semble plus robuste et est ce que je cherchais. Merci!

+0

C'est le cas? il devrait fonctionner de T est spécifiquement IMyInterface –

+0

Cela a fonctionné pour moi dans mon cas spécifique, mais le comportement est celui que vous décrivez: cela ne fonctionne pas si vous voulez savoir si un objet implémente IMyInterface, mais affirmer que le type T est une IMyInterface. Merci pour la correction! –

Questions connexes