私のような何かを試してみました: "getlineの(ファイル名、行)" 運を"過負荷メソッドのgetlineのための" ヘルプ(C#の)
コード:あなたがメソッドをオーバーロードしたい場合は
static void Main(string[] args)
{
GetLine();
}
string GetLine(string fileName, int line)
{
......
}
私のような何かを試してみました: "getlineの(ファイル名、行)" 運を"過負荷メソッドのgetlineのための" ヘルプ(C#の)
コード:あなたがメソッドをオーバーロードしたい場合は
static void Main(string[] args)
{
GetLine();
}
string GetLine(string fileName, int line)
{
......
}
静的関数内で非静的宣言されたGetLineを呼び出しています。
GetLine宣言をstaticとしてマークするか、両方の関数を含むクラスのインスタンスを作成します。
GetLine
には、virtual
インジケータが付いている必要があります。
virtual string GetLine(string fileNmae, int line)
{
//Code for method goes here
}
更新:
マリオVernariは、メソッドが静的にする必要があります示唆したように。
GetLine()
のようなメソッドを呼び出す場合は、GetLineの新しいオーバーロードされたメソッドを作成する必要があります。
static string GetLine()
{
return "Some string message"; //Return a string.
}
ありがとうございます!私はそれを調べます:) – Mathew
彼はメソッド 'GetLine'をオーバーロードしようとしていません。問題は' GetLine'は静的ではなく 'Main'です。 Marioの答え –
@Kieren、thats trueを参照してください。しかし、GetLineメソッドを呼び出す際に、 "GetLineのオーバーロードメソッドなし"というメッセージを表示するパラメータを渡すこともありません。彼は2つのことを行う必要があります。メソッドを静的にし、パラメタを渡したり、パラメータを受け入れないようにGetLine()メソッドをオーバーロードしたりしてください。 – Jethro
このように直接呼び出す場合は、静的メソッドである必要があります。 private static string GetLine(string fileName, int line)
あなたは正確に何をしようとしていますか?あなたの 'GetLine'はどこに定義されていますか?パラメータが渡されていないコールを呼び出すのはなぜですか? – Oded
あなたは何をしようとしているのか、何が問題になっているのかはあまり明確ではありません。あなたが投稿した情報に基づいて、文字列とintの引数を取るGetLineというメソッドがあるように見えますが、パラメータを渡すことなくGetLineというメソッドを呼び出しています。したがって、コンパイラはパラメータなしで定義されたGetLineのメソッド定義を探しており、GetLineを見つけることはできません。パラメータの既定値でGetLineを定義した場合、GetLine()呼び出しがコンパイルされます。これで十分ですか? – IanT8