Unzulänglichkeiten für generische Methoden mit Typbeschränkungen [duplizieren]

8

Gibt es einen bestimmten Grund, dass Sie generische Methoden nicht überladen können, die sich gegenseitig ausschließende Typeinschränkungen in C # verwenden? Nehmen Sie zum Beispiel diese Methoden:

%Vor%

und versuchen Sie, sie mit

aufzurufen %Vor%

So wie ich es sehe, schließen sich die DoSomething () -Methoden gegenseitig so weit aus, wie die Parameter, die sie annehmen werden - der erste nimmt einen Referenztyp an, der zweite einen Werttyp. Der Compiler sollte in der Lage sein zu sagen, dass der DoSomething-Aufruf mit einem String-Argument an die erste Methode geht und der DoSomething-Aufruf mit einem int-Argument an die zweite Methode geht.

Vermisse ich etwas konzeptionell mit Generika hier? Oder ist das nur eine Funktion, die nicht in C # implementiert wurde?

    
eouw0o83hf 25.01.2012, 22:11
quelle

1 Antwort

8

Generische Constraints sind nicht Bestandteil der Methodensignatur

Siehe diese Antwort Generische Einschränkungen bei Methodenüberlastungen

Jon Skeet Blog-Post zum Thema

    
asawyer 25.01.2012, 22:14
quelle