【发布时间】:2020-12-09 15:10:43
【问题描述】:
我一直都知道我必须使用静态方法,但我想知道为什么? 正如您在下面看到的,我必须将“MigrateDatabase”设为静态
using System;
namespace OdeToFood
{
public class Program
{
public static void Main(string[] args)
{
MigrateDatabase();
}
private static void MigrateDatabase()
{
//.....
}
}
}
【问题讨论】:
-
在这种情况下,这是因为在这种特定情况下,您不能从静态函数中调用非静态函数。
-
您必须将其设为静态对于此代码,但如果您以不同方式编写代码,则不必将其设为静态。
-
在这种情况下,
new Program().MigrateDatabase()是我的首选,因为每次输入static都很痛苦。 -
@MathewHD:不是真的:如果您有对包含该方法的对象的引用,则可以从静态函数调用非静态函数。
标签: c#