L'héritage dans l'héritage orienté objet permet à la fonction d'extension de sa classe parent. Lorsque vous utilisez des classes génériques, déterminer si une classe est dérivée d'une classe générique spécifique peut aider. Cependant, vérifiez que l'attribut IssubClassOf peut ne pas fonctionner comme prévu.
Afin de résoudre ce problème, nous pouvons utiliser la méthode IssubClassofrawGenerc, qui compare la définition de type de la classe parent avec les types fournis.
Le fragment de code suivant montre comment utiliser cette méthode:
Par définition comparative de type générique plutôt que par un nom de type limité complet, la méthode IssubClassofrawGneric peut déterminer avec précision si une classe est affectée à l'auto-génération.
<code class="language-csharp">static bool IsSubclassOfRawGeneric(Type generic, Type toCheck) { while (toCheck != null && toCheck != typeof(object)) { var cur = toCheck.IsGenericType ? toCheck.GetGenericTypeDefinition() : toCheck; if (generic == cur) { return true; } toCheck = toCheck.BaseType; } return false; }</code>
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!