2009-09-21 39 views
5

ich die folgende Fehlermeldung erhalten:C# Fehler ‚Keine Überladung für Methode‚getData‘nimmt‚1‘Argumente

Error 49 No overload for method 'getData' takes '1' arguments 

Mit dieser Methode auf der fünften Zeile.

[WebMethod] 
    public string getVerzekerde(int bsn) 
    { 
     ZDFKoppeling koppeling = new ZDFKoppeling(); 
     return koppeling.getData(bsn);    
    } 

Die GetData-Methode sieht wie folgt aus:

public string getData(int bsn) 
    {   
     using (new SessionScope()) 
     { 
      ZorgVerzekerde verzekerde = PolisModule.GetVerzekerde(bsn); 
      return "Verzekerde " + verzekerde.Naam;   
     }  
    } 

ich wirklich nicht verstehen, was hier schief geht .. Die Beschreibung dieses Fehlers auf der MSDN-Site hat mir nicht geholfen .. http://msdn.microsoft.com/en-us/library/d9s6x486%28VS.80%29.aspx

Jemand, der eine Lösung hat?

+0

ZDFKoppeling: das ist eine interne Klasse, oder? Wie sollen wir wissen, wie es definiert ist? –

Antwort

10

Yeah; irgendwie kompilieren Sie gegen eine andere Version dieser Klasse. Führen Sie einen sauberen Build durch und überprüfen Sie Ihre Referenzen.

+2

Die Reinigung hat geholfen ... Gefühl ein bisschen dumm im Moment: P – Rick

+0

@Rick, nicht 99% der Zeit ist das Problem in unserem Code, so wenn wir es nicht versuchen, die offensichtliche –

+2

@Ian nicht versuchen - Meine persönliche Meinung ist, dass, wenn Sie einen sauberen Build machen müssen, um Dinge zum Laufen zu bringen, es ein Fehler des Tools ist. Leider hatte ich in letzter Zeit viel Erfahrung mit VS2008 und WPF –

0

Wo ist die getData Methode definiert? Ist es in einer anderen Versammlung? Hast du versucht, wieder aufzubauen?

Es sieht nicht so aus, als wäre irgendetwas mit Ihrem Code falsch.

1

Geben Sie einen Fehler in der GetData() -Methode ein, führen Sie dann einen vollständigen Build durch, und bestätigen Sie, dass der Compiler die Fehler findet. Sie bearbeiten möglicherweise die falsche Datei, wenn Sie mehr als eine Kopie des Quellcodes auf Ihrem Computer haben, und dies wird Ihnen zeigen, wenn Sie es sind.

Versuchen Sie auch, die ZDFKoppeling-Klasse umzubenennen, ohne getVerzekerde() zu aktualisieren, und prüfen Sie, ob Sie einen Compilerfehler erhalten. Wenn nicht, nimmst du die geänderte Klasse aus irgendeinem Grund nicht auf.

Wenn die oben genannten keinen Compilerfehler ergeben, versuchen Sie eine Umbuchung, als Prozess haben Sie die DLL gesperrt, und versuchen Sie auch eine komplette Neuerstellung.

Diese Probleme stellen sich normalerweise als sehr einfach heraus, sobald Sie sie aufgespürt haben. Aber nimm dir ewig Zeit, um aufzuspüren.

Wenn ein anderer Programmierer im selben Büro arbeitet, bitten Sie um seine/ihre Hilfe, da oft ein zweiter Blick auf die Maschine es schnell finden kann.

(Ich gehe davon aus, dass GetData() in der ZDFKoppeling Klasse definiert ist, nicht eine andere calss)

1

Dies zeigt im Allgemeinen, dass sie das Verfahren nicht ist Referenzierung Sie dachten, es war, sondern eine andere. Sie können im Allgemeinen herausfinden, welche Methode in Visual Studio verwendet wird, indem Sie mit der rechten Maustaste auf den Methodenaufruf klicken und "Gehe zur Definition" auswählen. Dies sollte helfen, herauszufinden, warum es den einen anspricht und nicht den, den Sie erwarten.

Verwandte Themen