静态构造函数的区别如下:
class GlobalClass
{
public static DataBase dataBase;
static GlobalClass()
{
dataBase= new DataBase(@"Data Source=..;...; User ID=... ;Password=...;");
dataBase.CreateConnection();
}
}
并在全局类中定义静态实例如下:
class GlobalClass
{
public static GlobalClass Globals = new GlobalClass();
public DataBase dataBase;
public GlobalClass()
{
dataBase= new DataBase(@"Data Source=..;...; User ID=... ;Password=...;");
dataBase.CreateConnection();
}
}
每种类型之间有什么区别?哪个更好用?
最佳答案
在第一种情况下,当 GlobalClass
第一次访问时,数据库仅初始化一次。
在第二种情况下,当您创建 GlobalClass
实例时,数据库会每次 初始化。没有实例 - 没有初始化。两个实例 - 两个初始化(只有最后一个可以通过 dataBase
字段获得)。
关于c# - 全局类中静态构造函数和定义静态实例的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17471341/