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

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '418891',
    'url' => 'c-sharp-type-inference-of-a-generic-method-type-parameter-where-the-method-has-n',
];

$_SESSION = [
    '__flash' => [],
];