博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
今天在做底层数据库操作时,又用到了静态类,所以,单拿出来再说说它
阅读量:6689 次
发布时间:2019-06-25

本文共 962 字,大约阅读时间需要 3 分钟。

静态类相当于一个sealed abstract类,主要的一个优点是写在栈中,安全高速稳定,而且在执行的时候,十分优先。

类可以声明为  的,以指示它仅包含静态成员。不能使用  关键字创建静态类的实例。静态类在加载包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 (CLR;特指:C#语言) 自动加载。

  它们仅包含。

它们不能被实例化。

它们是密封的。

它们不能包含实例构造函数)。

因此创建静态类与创建仅包含静态成员和私有构造函数的类大致一样。私有构造函数阻止类被。

优点

使用静态类的优点在于,能够执行检查以确保不致偶然地添加实例成员。编译器将保证不会创建此类的实例。

静态类是密封的,因此不可被继承。静态类不能包含构造函数,但仍可声明静态构造函数以分配初始值或设置某个静态状态。

注意

静态类不能有实例构造器。

静态类不能有任何实例成员。 静态类不能使用abstract或sealed修饰符。 静态类默认继承自System.Object根类,不能显式指定任何其他基类。

静态类不能指定任何接口实现。

静态类的成员不能有protected或protected internal访问保护修饰符。

看代码更清楚一些:

public static class ReflectionFactory //类自动由CLR自动加载,安全高速稳定,它没有实例成员,不能被实例化
{
 
private static String datastr;
static ReflectionFactory() //静态构造方法在应用程序开始时执行,且只执行一次
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"f:/config/config.xml");
XmlNode xmlNode = xmlDoc.ChildNodes[1];
datastr = xmlNode.ChildNodes[0].ChildNodes[0].Value;
}
public static IData MakeSQL()
{
return Assembly.Load("Data").CreateInstance("Data." + datastr) as IData;
}
 

转载地址:http://mvuoo.baihongyu.com/

你可能感兴趣的文章
初级网络运维工程师比赛题目
查看>>
跨交换机实现vlan实验报告
查看>>
jquery easyui滚动条部分设置介绍
查看>>
cannot find -lxxx问题
查看>>
预防云端开源项目打包 Redis Labs再更改模块
查看>>
超惊人!去年发生的身分外泄安全事件是2017的4倍
查看>>
oracle sqlplus免安装的配置instantclient-basiclite
查看>>
Java开发GUI之选择列表
查看>>
一、分布式商城架构逻辑图
查看>>
机器人是如何完成避障的?机器人避障解决方案解读
查看>>
通过错误堆栈信息和源码分析错误来源
查看>>
C和C++ 读写文件速度问题
查看>>
layer.mobile 弹出框插件(2.0版)
查看>>
IDC服务品质协议范本留存
查看>>
在 overlay 中运行容器 - 每天5分钟玩转 Docker 容器技术(51)
查看>>
前端MVC框架 EmberJS总结
查看>>
LVS
查看>>
搭建高可用mongodb集群(三)—— 深入副本集内部机制
查看>>
C#基础 条件语句、选择语句和循环语句
查看>>
15款经典图表软件推荐
查看>>