给出以下代码,为什么在“Main”的第一行之后没有调用“Outer”的静态构造函数?
namespace StaticTester
{
class Program
{
static void Main( string[] args )
{
Outer.Inner.Go();
Console.WriteLine();
Outer.Go();
Console.ReadLine();
}
}
public static partial class Outer
{
static Outer()
{
Console.Write( "In Outer's static constructor\n" );
}
public static void Go()
{
Console.Write( "Outer Go\n" );
}
public static class Inner
{
static Inner()
{
Console.Write( "In Inner's static constructor\n" );
}
public static void Go()
{
Console.Write( "Inner Go\n" );
}
}
}
}
规范第 10.12 节回答了您的问题,其中规定:
静态构造函数的执行
由第一个触发
以下事件发生在
应用领域:
• 一个实例
类类型已创建。
• 任何
类类型的静态成员
被引用。
由于你没有做这两件事,所以 ctor 没有被处决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)