2017-01-12 5 views
-1

私はいくつかのメソッドを持つクラスを持っています。C#クラスのStringメソッドの構築

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); } 

は最初の3つの方法がうまくコンパイル:

は、ここに私の関数マッピングです。しかし文字列メソッドは、私には返りがないというエラーを返します。

方法:

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

私は関数マッピングと愚かなミスを犯したが、私はそれが何であるかを把握することはできませんね。

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

zGetUser .. getuserにする必要がありますか? – Trey

+2

これはコンストラクタではなく、メソッドであり、エラーメッセージは正しく、値を返さない。値を返す必要があります。 – Servy

+0

はそのメソッドのtypo 'zGetUser'ですか? –

答えて

2

return文を逃した:

+0

ああああ...それはそれです。あなたは絶対に正しいです。ありがとうございました。 – mykds

+1

まあ、私はすべてを1行に置くことができるのが好きですが、コードを見るためにスクロールしなければならないことはもっと嫌いです。 – Steve

2

あなたの方法は、それが呼び出すメソッドの値を返す必要があります。その本体に戻り値がありません:

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

時々、より巧妙な書式設定が役立ちます。

2

あなたはおそらく、あなたが方法GETUSERから文字列を返さないここ

public string GetUser(OleDbConnection Connection, OleDbCommand Command, OleDbDataReader Reader, string username) { return zGetUser(Connection, Command, Reader, username); }
関連する問題