实例构造函数和静态构造函数,静态构造函数和非静态构造函数
静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。
在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数
班级计划
{
静态void Main(string[] args)
{
static _ construct sc=new static _ construct();//这里它执行了普通构造方法和静态构造方法
static _ construct sc2=new static _ construct();//这里静态构造方法就不会被执行了,它只在第一个类实例时被执行
控制台WriteLine(static_construct .a);
控制台read key();
}
}
类静态构造
{
静态int a=0;
public static_construct()
{
a=1;
}
静态静态构造()
{
a=3;
}
public static int A { get { return a} }
公共静态字符串信息{获取设置;}
}
以下是一个树型部门的例子:
公共类部门服务:IDepartmentsService
{
静态数据iDepentmentsRepository=新数据10 . OA。dependments存储库();
静态列表实体10 . OA。部门实体列表=空;
///摘要
///静态构造方法,在使用任何静态成员之前会被提前执行
////摘要
静态部门服务()
{
重载();
}
内部静态空重载()
{
entitiesList=(来自个人计算机中的iDepentmentsRepository .GetDepentments()
通过电脑订购DeptName . com升序
选择个人电脑).to list();
}
#地区树型部门列表
///摘要
///虚拟产品类别
////摘要
///返回虚拟产品类别列表/退货
公共静态实体。办公自动化部门
{
实体10 . OA。部门根=新实体10 . OA。部门();
尝试
{
root=entitiesList .单身(
项目=项目DeptID。等于(实体10 . OA。部门。rootid));//获取跟节点
获取subs(根);
}
catch(InvalidOperationException ex)
{
前任ToString();
}
返回根目录;
}
///摘要
///根据父对象,找到子孙树
////摘要
///param name=father 父对象/param
静态公共void GetSubs(实体10 . OA。部门父亲)
{
父亲SubList=entitiesList .其中(项目=
项目ParentID。等于(父亲DeptID)的。to list();
父亲。子列表。ForEach(项目=
{
项目。父亲=父亲;
获取subs(项目);
});
}
#结束区域
}