谁能解释 CLR 如何处理静态类?CLR 是否创建一个单例实例来在内部处理静态类?如果没有,为什么我们在 C# 中有一个静态构造函数?(根据我的理解,我们只使用构造函数来实例化类)
问问题
1240 次
2 回答
4
首先,CLR 中没有静态类。CLR 对静态类一无所知。这是C#的特点。
abstract
静态类和类一样被编译成sealed
。使其abstract
防止实例化并sealed
防止继承。
静态类没有什么特别之处,它只是一个所有成员都是静态的简单类。
是,CLR 在内部创建一个单例实例来处理静态类?
不,它是抽象的,不能被实例化。
如果不是,为什么我们在 C# 中有一个静态构造函数?
首次引用或实例化类型时将调用静态构造函数。它用于初始化类的静态成员。
于 2014-09-03T11:43:45.493 回答
2
static
首次引用类型时调用构造函数。它不一定是一个static
类才能有一个static
构造函数。
CLR 不会创建static
类的单例实例。static
尽管在初始化之后,它确实将变量保留在内存中。
于 2014-09-03T11:39:59.733 回答