日期:2014-05-17  浏览次数:20798 次

关于静态的问题
我想请问怎么理解这两句话:
1,什么叫做“Main方法为静态的,因此Main方法中不能直接访问Main所在类的实例方法和实例成员”?
2,什么叫做“静态构造函数在运行库加载类时执行”?

请大神帮忙解释下。谢谢

------解决方案--------------------
1,什么叫做“Main方法为静态的,因此Main方法中不能直接访问Main所在类的实例方法和实例成员”?

class Program
{
    int x = 3;
    void foo() { ... }
    static void Main(string[] Args)
    {
        int i = x; // error Main方法中不能直接访问Main所在类的实例成员
          foo(); // error Main方法中不能直接访问Main所在类的实例方法
    }
}

2,什么叫做“静态构造函数在运行库加载类时执行”?
class Program
{
    public static Program() { Console.WriteLine("a"); }
    
    static void Main(string[] Args)
    {
        Console.WriteLine("b");
    }
}
输出
a
b

a在Main之前执行。