maf*_*afu 8 c# static-constructor
我正在使用以下代码调用类的静态ctor:
Type type;
System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(type.TypeHandle);
Run Code Online (Sandbox Code Playgroud)
这会导致cctor运行两次吗?
RunClassConstructor只运行一次静态构造函数,即使你调用它两次.试一试 ;)
using System.Runtime.CompilerServices;
...
void Main()
{
RuntimeHelpers.RunClassConstructor(typeof(Foo).TypeHandle);
RuntimeHelpers.RunClassConstructor(typeof(Foo).TypeHandle);
Foo.Bar();
}
class Foo
{
static Foo()
{
Console.WriteLine("Foo");
}
public static void Bar()
{
Console.WriteLine("Bar");
}
}
Run Code Online (Sandbox Code Playgroud)
此代码打印:
Foo
Bar
| 归档时间: |
|
| 查看次数: |
2592 次 |
| 最近记录: |