


Comment puis-je déterminer si un type mutilé implémente une interface générique en C# ?
Jan 07, 2025 am 07:13 AMDétermination de l'implémentation d'une interface générique à partir d'un type mungled
Dans les scénarios où seul un type mutilé représentant une classe est disponible, déterminer s'il implémente une interface générique peut être difficile. Prenons l'exemple suivant :
public interface IFoo<T> : IBar<T> {} public class Foo<T> : IFoo<T> {}
La question se pose : comment savoir si le type Foo implémente l'interface générique IBar<T> lorsque seul le type mutilé est fourni ?
Solution :
Une approche pour résoudre cette requête consiste à utiliser les méthodes IsGenericType et GetGenericTypeDefinition disponibles en C#. Ces méthodes permettent l'examen et la manipulation de types génériques.
// Assuming 'foo' represents the mangled type of 'Foo<T>' bool isBar = foo.GetType().IsGenericType && foo.GetType().GetGenericTypeDefinition() == typeof(IBar<>);
Ce code évalue si le type mutilé est générique et compare sa définition de type générique avec la définition de type d'interface attendue typeof(IBar<>). Si les deux conditions sont remplies, la variable isBar est définie sur true, indiquant l'implémentation du type de l'interface générique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

C Fonction Langue Format de lettre ÉTAPES DE CONVERSION DE CAS

Gulc: Cibliothèque C construite à partir de zéro

Quels sont les types de valeurs renvoyées par les fonctions du langage C? Qu'est-ce qui détermine la valeur de retour?

Quelles sont les définitions et les règles d'appel des fonctions du langage C et quelles sont les

Comment fonctionne la bibliothèque de modèle standard C (STL)?

Où est la valeur de retour de la fonction de langue C stockée en mémoire?

Utilisation distincte et partage de phrases

Comment utiliser efficacement les algorithmes du STL (trier, trouver, transformer, etc.)?
