Methode Überladen mit unterschiedlichem Rückgabetyp [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Funktionsüberladung durch Rückgabetyp? 14 answers

Ich möchte darüber nachdenken, ob es sich um eine Mehrdeutigkeit oder eine zusätzliche Funktion handelt:

 public class Foo 
 { 
    public int Bar(){
       //code
    }

    public string Bar(int a){
       //code
    }
 }

eder, der Erfahrung damit hat, sollte das Überladen des Rückgabetyps mit verschiedenen Parametern eine schlechte Praxis sein, ode

Aber wenn die Überladung aufgrund des Rückgabetyps erfolgt ist, warum funktioniert das nicht?

 public class Foo 
 { 
    public int Bar(int a){
       //code
    }

    public string Bar(int a){
       //code
    }
 }

As kann nicht entscheiden, welche Funktion 1st oder Second aufgerufen werden soll, wenn obj.Bar () aufgerufen wird; , es sollte im Fehler enden, wenn jemand eine Ahnung davon hat, warum es das Ausführen des ersten Code-Snippets zulässt.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage