1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
5
namespace CSharpFoundationStudy
6
{
7
/*
8
* 静态构造函数:
9
* (1)用于对静态字段、只读字段等的初始化。
10
* (2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。
11
* (3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数
12
* (4)静态构造函数是不可继承的,而且不能被直接调用。
13
* (5)如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。
14
* (6)任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。
15
* (7)如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。
16
*/
17
18
/*
19
* 定义一个类的时候,如果没有加任何修饰符,则默认为internal
20
* 如果在类中定义一个成员的时候,没有加任何修饰符,则默认是private.
21
* 另外protected访问权限指只能被继承者访问,与C++相同
22
*/
23
24
//标记为sealed的类不能被继承
25
//静态构造函数实现单件模式
26
public sealed class SinglePattern
27
{
28
private static SinglePattern only;
29
30
public static SinglePattern Instance
31
{
32
get
33
{
34
return only;
35
}
36
}
37
38
//static函数中只能访问static成员,因为静态成员与函数是相对于类的,而非静态则是相对于某个具体对象的
39
//静态成员也不能通过this来访问
40
static SinglePattern()
41
{
42
Console.WriteLine("SinglePattern");
43
only = new SinglePattern();
44
}
45
46
//屏蔽默认构造函数
47
private SinglePattern()
48
{
49
}
50
}
51
}
using System;2
using System.Collections.Generic;3
using System.Text;4

5
namespace CSharpFoundationStudy6
{7
/*8
* 静态构造函数:9
* (1)用于对静态字段、只读字段等的初始化。 10
* (2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。 11
* (3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数12
* (4)静态构造函数是不可继承的,而且不能被直接调用。 13
* (5)如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。 14
* (6)任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。 15
* (7)如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。16
*/17
18
/*19
* 定义一个类的时候,如果没有加任何修饰符,则默认为internal20
* 如果在类中定义一个成员的时候,没有加任何修饰符,则默认是private.21
* 另外protected访问权限指只能被继承者访问,与C++相同22
*/23

24
//标记为sealed的类不能被继承25
//静态构造函数实现单件模式26
public sealed class SinglePattern27
{28
private static SinglePattern only;29

30
public static SinglePattern Instance31
{32
get33
{34
return only;35
}36
}37

38
//static函数中只能访问static成员,因为静态成员与函数是相对于类的,而非静态则是相对于某个具体对象的39
//静态成员也不能通过this来访问40
static SinglePattern()41
{42
Console.WriteLine("SinglePattern");43
only = new SinglePattern();44
}45
46
//屏蔽默认构造函数47
private SinglePattern()48
{49
}50
}51
}
A Za A Za, Fighting!


浙公网安备 33010602011771号