C # type Inferenz eines generischen Methodentyp-Parameters, für den die Methode keine Argumente hat

7

Gegeben die folgende generische Schnittstelle und implementierende Klasse:

%Vor%

Wie kann ich die Find-Methode aufrufen, ohne U anzugeben?

%Vor%

Mit anderen Worten, was kann getan werden, um Typinferenz zu bekommen?

Danke!

    
Michiel van Oosterhout 28.01.2009, 12:00
quelle

2 Antworten

6

Wie wäre es mit dem Schreiben

? %Vor%

Es spart die gleiche Menge an Eingabe, aber auf andere Weise.

    
Adam Ralph 28.01.2009, 12:03
quelle
15
  

Wie kann ich die Find-Methode aufrufen?   ohne Angabe von U?

Das kannst du nicht.

Leider entspricht die generische Methodenüberladungsauflösung von C # nicht basierend auf Rückgabewerten.

Siehe Eric Lipperts Blogpost dazu:    C # 3.0 Rückgabetyp Inferenz funktioniert nicht in Methodengruppen

Aber eine einfache Möglichkeit, dies zu schreiben, ist var keyword.

%Vor%     
Pop Catalin 28.01.2009 12:08
quelle

Tags und Links