好吧,这可能听起来像一个非常新手的问题。我真的很惊讶我在问它。我似乎无法记住如何从static void Main()
namespace myNameSpace
{
class Program
{
static void Main()
{
Run(); // I receive an error here.
Console.ReadLine();
}
void Run()
{
Console.WriteLine("Hello World!");
}
}
}
错误:
非静态字段,方法或属性'myNameSpace.Program.Run()'
需要对象引用
答案 0 :(得分:7)
您需要使Run
成为static
方法,或者需要一个对象实例来调用Run()
。所以你的选择是:
1。)使用实例:
new Program().Run();
2。)使Run()
静态:
static void Run()
{
/..
}
答案 1 :(得分:5)
将您的Run()
方法声明为静态:
static void Run()
{
Console.WriteLine("Hello World!");
}
答案 2 :(得分:2)
让方法静态:static void Run()
答案 3 :(得分:2)
Run()也必须是静态的,或者您需要创建对象的新实例,如new Program().Run();
答案 4 :(得分:0)
导致静态功能与实例无关。而非静态函数必须有一个实例 所以你必须创建一个新实例(你想要的每种方式),然后调用函数。
答案 5 :(得分:0)
另一种方法是将Run()方法封装在嵌套类中并调用它。
static void Main(string[] args)
{
new NestedClass().Run();
}
class NestedClass
{
public void Run()
{
}
}