您的位置:首页 > 编程语言 > C#

c#类的初始化顺序

2014-08-02 16:47 218 查看
本文转载:http://www.cnblogs.com/ybhcolin/archive/2010/09/24/1834219.html

c#类的初始化顺序

类在初始化时的执行顺序,依次如下:

1: 子类静态变量

2: 子类静态构造函数

3: 子类非静态变量

4: 父类静态变量

5: 父类静态构造函数

6: 父类非静态变量

7: 父类构造函数

8: 子类构造函数

对于静态变量与静态构造函数而言, 无论对一个类创建多少个实例,它的静态成员都只有一个副本。 也就是说,静态变量与静态构造函数只初始化一次(在类第一次实例化时)

以下代码:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
TestClass ts1 = new TestClass();
}
}

public class TestClass : TestBase
{
private string str = ""; //3: 子类非静态变量
public static string str1 = "";//1: 子类静态变量

static TestClass() //2: 子类静态构造函数
{

}
public TestClass()//8: 子类构造函数
{

}

}

public class TestBase
{
public string test = "";//6: 父类非静态变量
public static string test1 = "";//4: 父类静态变量

static TestBase() //5: 父类静态构造函数
{

}

public TestBase()//7: 父类构造函数
{

}
}


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