&引用;GetLine“无重载方法”;帮助(C#)

&引用;GetLine“无重载方法”;帮助(C#),c#,.net,windows,C#,.net,Windows,我试过类似这样的话:“GetLine(fileName,line)”不走运 代码: 如果要重载方法GetLine,则必须使用virtual指示符对其进行标记 virtual string GetLine(string fileNmae, int line) { //Code for method goes here } 更新: 正如Mario Vernari所建议的,您需要将该方法设置为静态 如果您想像这样调用方法GetLine(),那么您需要为GetLine创建一个新的重载方法 st

我试过类似这样的话:“GetLine(fileName,line)”不走运

代码:


如果要重载方法
GetLine
,则必须使用
virtual
指示符对其进行标记

virtual string GetLine(string fileNmae, int line)
{
    //Code for method goes here
}
更新:

正如Mario Vernari所建议的,您需要将该方法设置为静态

如果您想像这样调用方法
GetLine()
,那么您需要为GetLine创建一个新的重载方法

static string GetLine()
{
   return "Some string message"; //Return a string.
}

您正在从静态函数中调用声明为非静态的GetLine


要么将GetLine声明标记为static,要么创建一个包含这两个函数的类的实例。

如果您想这样直接调用,它应该是一个静态方法。
私有静态字符串GetLine(字符串文件名,int行)

您到底想做什么?您的
GetLine
在哪里定义?为什么你要调用一个没有传入参数的函数?你还不清楚你要做什么,或者你遇到了什么问题。根据您发布的信息,看起来您有一个名为GetLine的方法,该方法接受一个string和int参数,但是,您正在调用一个名为GetLine的方法,该方法不传递任何参数。因此,编译器正在为GetLine寻找一个没有参数的方法定义,但找不到。如果您使用参数的默认值定义了GetLine,那么您的GetLine()调用将被编译。这解释够了吗?谢谢!我会调查一下:)他没有试图重载方法
GetLine
,问题是
GetLine
不是静态的,而是
Main
是静态的。看马里奥的answer@Kieren,这是真的,但是他也试图调用GetLine方法,而不传入任何参数,这就是给他消息“GetLine没有重载方法”的原因。他需要做两件事,使方法成为静态的,要么不传入参数,要么重载GetLine()方法以不接受任何参数。@Jethro-这两件事都与添加
virtual
关键字无关,这就是您的答案所说的,即wrong@Kieren,我已更新我的答案以显示这一点。
static string GetLine()
{
   return "Some string message"; //Return a string.
}