今天我们来说一下C#静态构造函数:
C#有一个新特点是可以给类编写无参数的静态构造函数。这个函数只执行一次,而非静态构造函数则是只要创建类的对象,它都会执行。利用静态构造函数只执行一次的特点,我们可以编写一些只第一次使用类之前需要从外部资源中初始化的静态字段和属性。
静态构造函数不能带任何参数,一个类也只能有一个静态构造函数。如下是创建类静态构造函数例子:
1 public class UserPreferences 2 { 3 public static readonly int BackColor; 4 static UserPreferences() 5 { 6 DateTime now = DateTime.Now; 7 if (now.DayOfWeek == DayOfWeek.Saturday || 8 now.DayOfWeek == DayOfWeek.Sunday|| 9 now.DayOfWeek==DayOfWeek.Thursday) 10 { 11 BackColor = 5; 12 } 13 else BackColor = 2; 14 } 15 }
我们可以在main中调用这个类的成员backcolor。Console.WriteLine("now is "+UserPreferences.BackColor.ToString());
密封类和密封方法(sealed ):该类不能继承,该方法不能重写。例如以下是不可行:
1 sealed class finalClass 2 { 3 ..... 4 } 5 //error example 6 class ddd: finalClass 7 { 8 ..... 9 }
ddd类不能继承密封类finalClass,如以上代码编译会出错。
End.
谢谢.