Ruft den Typ des generischen Parameters aus der Klasse ab, der von der generischen Schnittstelle geerbt wird

mtkachenko

Ich habe diese Schnittstelle und ihre Implementierung:

public interface IInterface<TParam>
{
    void Execute(TParam param);
}

public class Impl : IInterface<int>
{
    public void Execute(int param)
    {
        ...
    }
}

Wie bekomme ich den TParam- Typ ( int here ) mithilfe der Reflexion von typeof (Impl) ?

dotnetom

Sie können ein bisschen Nachdenken verwenden:

// your type
var type = typeof(Impl);
// find specific interface on your type
var interfaceType = type.GetInterfaces()
    .Where(x=>x.GetGenericTypeDefinition() == typeof(IInterface<>))
    .First();
// get generic arguments of your interface
var genericArguments = interfaceType.GetGenericArguments();
// take the first argument
var firstGenericArgument = genericArguments.First();
// print the result (System.Int32) in your case
Console.WriteLine(firstGenericArgument);

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

c# Ruft den Namen des generischen Typparameters in der generischen Klasse ab

Ruft TypeVars der benutzerdefinierten generischen Klasse von der Instanz ab

Ruft die Klasseneigenschaft abhängig von der generischen Schnittstelle ab

Instanziierungsproblem der generischen Schnittstelle, die von der abstrakten Klasse geerbt wurde

So erhalten Sie die Klasse des generischen Parameters einer Schnittstelle aus der Schnittstelle

Java-Methode, die den generischen Typ des in der Klasse verwendeten generischen Typs zurückgibt

Ruft den Namen der generischen Methode in einer Proxy-Klasse ab

Initialisierung des Initialisierers von der generischen Klasse

Leiten Sie den generischen Typ U der Funktion aus dem Rückgabewert der übergebenen Funktion ab

Kann auf einen Typ geschlossen werden, der in einer generischen Schnittstelle eines Parameters verwendet wird?

TypeScript: Leiten Sie den Objekttyp der generischen Schnittstelle implizit aus dem Objektinhalt ab

Unbekanntes Objekt in generische Schnittstelle der Schnittstelle umwandeln (vom anfänglich expliziten generischen Typ der generischen Sammlung Typ des Typs)

Ruft die Instanz des Eloquent-Modells aus der generischen DB-Abfrage in Laravel 5.1 ab

Wie leitet der Compiler den Typ einer generischen Methode ab?

Warum leitet der Compiler den generischen Typ nicht ab?

Ist es in Java möglich, den generischen Typ in der Unterklasse der generischen Klasse einzugrenzen?

Ändern Sie den generischen Typ innerhalb der Klasse

Klasse der generischen Klasse

Extrahieren Sie den Typ aus der anonymen generischen TypeScript-Klasse

Ruft den Typ eines generischen Parameters in Java mit Reflektion ab

TypeScript-Typ des Typs der generischen Klasse

Der generische Typ einer Klasse wird von einer nicht generischen Typklasse abgeleitet

Überschreiben des generischen Rückgabetyps von der Schnittstelle

Ableiten des Typs von Klassenargumenten in der generischen Java-Schnittstelle

Wie kann ich generischen Typ mithilfe von Refactoring aus der Klasse entfernen?

Wie überprüfe ich den konkreten Typ des zugeordneten Typs eines Protokolls innerhalb der generischen Klasse?

Ruft den Namen der Klasse ab, die eine Schnittstelle implementiert

Generieren Sie den generischen Typ aus der Variablen

Typoskript: Ruft den Literalwert von einem generischen Typ ab

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  3. 3

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  4. 4

    Was ist schneller: SUM über NULL oder über 0?

  5. 5

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  6. 6

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  7. 7

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  8. 8

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  11. 11

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  12. 12

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Wie wählt man Unterschiede mit drei Tabellen aus?

  15. 15

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  16. 16

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  17. 17

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  18. 18

    Wie kann ich den Kaskadenmodus global einstellen?

  19. 19

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  20. 20

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  21. 21

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

heißlabel

Archiv