Der beste Weg, meine Frage zu illustrieren, ist mit diesem Beispielcode:
%Vor%Die folgende Zeile funktioniert nicht:
%Vor% Ist es eine Möglichkeit, es zum Laufen zu bringen, ohne Container<>
in Container<int>
explizit zu ändern? Ich möchte wissen, dass das Objekt vom 'Behälter' Typ ist und ich wirklich kein Interesse habe, ist es Container<int>
oder Container<string>
. Irgendwelche Hinweise anders als Dutzende Zeilen der Reflexion?
Versuchen Sie:
%Vor% Beachten Sie, dass dies nur wahr zurückgibt, wenn der tatsächliche Typ Container<T>
ist. Es funktioniert nicht für abgeleitete Typen. Zum Beispiel gibt es false
für Folgendes zurück:
Wenn Sie es für diesen Fall arbeiten lassen müssen, sollten Sie die Vererbungshierarchie durchlaufen und jede Basisklasse als Container<T>
testen: