Heim > Backend-Entwicklung > C++ > Wie kann ich abgeleitete Klassen aus einer generischen Klasse in C#zuverlässig identifizieren?

Wie kann ich abgeleitete Klassen aus einer generischen Klasse in C#zuverlässig identifizieren?

DDD
Freigeben: 2025-01-24 18:57:16
Original
406 Leute haben es durchsucht

How Can I Reliably Identify Derived Classes from a Generic Class in C#?

Die abgeleitete Klasse der generischen Kategorien in C#

Vererbung in Objektorientierter Vererbung ermöglicht die Funktion der Erweiterung der übergeordneten Klasse. Bei der Verwendung generischer Klassen kann die Feststellung, ob eine Klasse von einer bestimmten generischen Klasse abgeleitet wird, helfen. Überprüfen Sie jedoch, ob das Attribut issubClassOF möglicherweise nicht wie erwartet funktioniert.

Um dieses Problem zu lösen, können wir die ISSUBCASSOFRAWGENERC -Methode verwenden, die die Typdefinition der übergeordneten Klasse mit den angegebenen Typen vergleicht.

Das folgende Codefragment zeigt, wie diese Methode verwendet wird:

nach vergleichender generischer Typdefinition und nicht durch einen vollständigen Namen des begrenzten Typs, kann die ISSUBCLASSOFRAWGNERIC -Methode genau bestimmen, ob eine Klasse der Selbstgeneration zugewiesen ist.
<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich abgeleitete Klassen aus einer generischen Klasse in C#zuverlässig identifizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage