C#中静态构造函数

来源:互联网 发布:女生项链品牌 知乎 编辑:程序博客网 时间:2024/05/16 01:13

使用静态构造函数的一个原因是:在第一次使用类之前,用静态构造函数来初始化类(当然也包括结构体,这里用类做阐述)中一些静态字段或属性。比如对字段或属性进行一系列的操作进行初始化,而不希望每次实例化类的时候改变他,用静态构造函数比较方便。

public class MyClass{static MyClass(){}}

注意:静态构造函数没有访问修饰符,不能带任何参数,一个类只能有一个静态构造函数,只能访问类的静态成员(常量也是静态成员)他只是在第一次加载类的时候被调用。

C#中变量和常量:点击打开链接

如下所示:下面一个类有一个只读属性Day(只有get,没有set) 和一个静态构造函数,在静态构造函数中初始化该属性,返回今天是周几。

public class StaticConstructor {// 只读属性(只有get没有set)public static  int Day{get;}static StaticConstructor(){// DateTime 是system下的一个类,用来处理与时间相关,这里的Now是DateTime类的静态属性,用于返回本机时间(与你设定的日期时间一致)DateTime now = DateTime.Now;// DayOfWeek 属性返回一个DayOfWeek枚举值(0-6 分别对应 周日到周六)Day = (int)now.DayOfWeek;}}

DateTime.Now 详细输出:点击打开链接

注意:静态构造函数与无参数的实例构造函数可以同时存在,尽管参数列表相同,但是静态构造函数是在第一次加载类的时候调用,而实例构造函数是在创建类的实例对象时调用,所以他们不会有冲突。



原创粉丝点击