您的位置:首页 > 其它

构造函数和析构函数的调用顺序

2010-10-05 09:54 232 查看
using System;

public class SamplesArray
{
public static void Main()
{
C c = new C();
S.C();
}
}
public static class S
{
static S() //静态构造函数中不能有访问修饰符,默认为私有构造函数,这也是私有构造函数的用法。
{
Console.WriteLine("静态类S!");
}
public static void C()
{
Console.WriteLine("静态类S的静态方法!");
}
/*~S() //静态类不能包含析构函数
{
Console.WriteLine("静态类S的析构函数!");
}*/
}

public class A
{
static A()
{
Console.WriteLine("A类的静态构造函数!");
}
public A()
{
Console.WriteLine("A类的实例构造函数!");
}
~A()
{
Console.WriteLine("A类的析构函数!");
}
}
public class B:A
{
static B()
{
Console.WriteLine("B:A类的静态构造函数!");
}
public B()
{
Console.WriteLine("B:A类的实例构造函数!");
}
~B()
{
Console.WriteLine("B:A类的析构函数!");
}
}
public class C:B
{
static C()
{
Console.WriteLine("C:B类的静态构造函数!");
}
public C()
{
Console.WriteLine("C:B类的实例构造函数!");
}
~C()
{
Console.WriteLine("C:B类的析构函数!");
}
}

C:B类的静态构造函数!

B:A类的静态构造函数!

A类的静态构造函数!

A类的实例构造函数!

B:A类的实例构造函数!

C:B类的实例构造函数!

静态类S!//

静态类S的静态方法!

C:B类的析构函数!

B:A类的析构函数!

A类的析构函数!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: