695 votes

Comment déterminer si un type implémente une interface avec le langage c# réflexion

Réflexion le fait dans offrent un moyen de déterminer si, compte tenu de certains type modélise une interface ?

1201voto

Jeff Points 13306

Vous avez quelques choix sur le dessus de ma tête

  1. ``
  2. ``

103voto

Snea Points 537

Utilisation `` :

35voto

ajma Points 5637
 typeof(IMyInterface).IsAssignableFrom(someclass.GetType());
 

ou

 typeof(IMyInterface).IsAssignableFrom(typeof(MyType));
 

15voto

Panos Theof Points 402
<pre><code></code><p>Je pense que c’est la version correcte, pour trois raisons : </p><p>1) il utilise GetInterfaces et pas IsAssignableFrom, il est plus rapide puisque IsAssignableFrom finalement après plusieurs vérifications appelle-t-il GetInterfaces.<br> 2) il parcourt le tableau local, il n’y aura aucune vérification de limites.<br> 3) elle utilise l’opérateur qui est défini pour le Type, est donc probablement plus sûr que la méthode Equals (que l’appel de Contains, utilisera par la suite) ==.</p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X