2017-01-12 1 views
-1

Ich habe eine Klasse mit ein paar Methoden.C# Klassenaufbau für String-Methode

Hier ist meine Funktionszuordnung:

public void Connect(string SourceFile, OleDbConnection Connection, OleDbCommand Command) { zConnect(SourceFile, Connection, Command); } 
    public void Tablenames2cmb(OleDbConnection Connection, ComboBox TargetComboBox) { zTablenames2cmb(Connection, TargetComboBox); } 
    public void Tablenames2cmb(OleDbConnection Connection, string Exclusion, ComboBox TargetComboBox) { zTablenames2cmb(Connection, Exclusion, TargetComboBox); } 
    public string GetUser(OleDbConnection Connection, OleDbCommand Command, OleDbDataReader Reader, string username) { zGetUser(Connection, Command, Reader, username); } 

Die ersten drei Methoden kompilieren just fine. Aber die String-Methoden geben mir einen Fehler, dass es keine Rückkehr gibt.

Methode:

private string zGetUser(OleDbConnection Connection, OleDbCommand Command, OleDbDataReader Reader, string username) 
    { 
     string result = "Foo"; 
     return result; 
    } 

Ich glaube, ich einen dummen Fehler mit der Funktion Mapping gemacht, aber ich kann nicht herausfinden, was es ist.

+0

zGetUser .. sollte getuser sein? – Trey

+2

Das ist kein Konstruktor, es ist eine Methode, und die Fehlermeldung ist richtig, Sie geben keinen Wert zurück. Sie müssen einen Wert zurückgeben. – Servy

+0

ist das ein Tippfehler 'zGetUser' auf der Methode? –

Antwort

2

Sie haben nicht eine Zeichenfolge aus dem Verfahren GetUser zurückzukehren. Sein Körper hat keinen Rückgabewert:

public string GetUser(OleDbConnection Connection, OleDbCommand Command, OleDbDataReader Reader, string username) 
{ 
    return zGetUser(Connection, Command, Reader, username); 
} 

Irgendwann hilft eine weniger geschickte Formatierung.

+0

Oh Schatz ... das ist es. Du hast absolut recht. Vielen Dank. – mykds

+1

Nun, ich mag es, wenn ich alles auf eine einzige Zeile setzen kann, aber ich mag es nicht mehr viel zu scrollen, um den Code zu sehen. – Steve

2

Ihre Methode muss den Wert der Methode zurückgeben ruft:

public string GetUser(OleDbConnection Connection, OleDbCommand Command, OleDbDataReader Reader, string username) 
{ 
    return zGetUser(Connection, Command, Reader, username); 
} 
2

Sie wahrscheinlich return-Anweisung hier verpasst

public string GetUser(OleDbConnection Connection, OleDbCommand Command, OleDbDataReader Reader, string username) { return zGetUser(Connection, Command, Reader, username); }