C#静态类构造函数
关于如何为静态类创建构造函数,是否有解决方法C#静态类构造函数,c#,class,static,constructor,C#,Class,Static,Constructor,关于如何为静态类创建构造函数,是否有解决方法 初始化类时,我需要加载一些数据,但我只需要一个对象。静态构造函数如下所示 static class Foo { static Foo() { // Static initialization code here } } 第一次使用类型时,仅执行一次。所有类都可以有静态构造函数,而不仅仅是静态类。C#有一个用于此目的的静态构造函数 static class YourClass { static You
初始化类时,我需要加载一些数据,但我只需要一个对象。静态构造函数如下所示
static class Foo
{
static Foo()
{
// Static initialization code here
}
}
第一次使用类型时,仅执行一次。所有类都可以有静态构造函数,而不仅仅是静态类。C#有一个用于此目的的静态构造函数
static class YourClass
{
static YourClass()
{
// perform initialization here
}
}
来自MSDN:
静态构造函数用于初始化任何静态数据,或
执行只需执行一次的特定操作。信息技术
在创建第一个实例或任何
静态成员被引用
是的,一个静态类可以有静态构造函数,这个构造函数的使用就是静态成员的初始化
static class Employee1
{
static int EmpNo;
static Employee1()
{
EmpNo = 10;
// perform initialization here
}
public static void Add()
{
}
public static void Add1()
{
}
}
当您访问类名为Class1的静态类的任何类型成员时,静态构造函数只会被调用一次
假设您正在访问第一个EmployeeName字段,那么这次调用构造函数,之后将不会调用它,即使您将访问相同类型的成员
Employee1.EmployeeName = "kumod";
Employee1.Add();
Employee1.Add();
可以使用静态构造函数初始化静态变量。静态构造函数将是类的入口点
public class MyClass
{
static MyClass()
{
//write your initialization code here
}
}
我们可以创建静态构造函数
static class StaticParent
{
StaticParent()
{
//write your initialization code here
}
}
而且它总是无参数的
static class StaticParent
{
static int i =5;
static StaticParent(int i) //Gives error
{
//write your initialization code here
}
}
而且它没有访问修饰符
静态构造函数
,只调用所创建类的第一个实例
像这样:
static class YourClass
{
static YourClass()
{
//initialization
}
}
请注意,
YourClass
不要求是static
。公平地说,原始海报确实明确询问了静态类的构造函数。静态构造函数没有访问修饰符,这实际上是一个编译错误“在创建第一个实例或引用任何静态成员之前自动调用”