今于召开底层数据库操作时,又用到了静态类,所以,单将出去再说说它们

静态类一定给一个sealed
abstract类,主要的一个独到之处是写于栈中,安全便捷稳定,而且当尽之下,十分先。

类似可声明也 static
的,以指示它只含静态成员。不能够以
new
关键字创建静态类的实例。静态类在加载包含该类的程序要命名空间时出于 .NET
Framework 官语言运行库 (CLR;特指:C#言语) 自动加载。

  它们不过包含静态成员。

它们不可知被实例化。

它是封的。

她不可知包含实例构造函数)。

据此创造静态类与创建仅包含静态成员与私家构造函数的好像约相同。私有构造函数阻止类让实例化。

优点

运静态类的长处在,编译器克尽检查为保证无给偶然地增长实例成员。编译器将包非会见创此类的实例。

静态类是封的,因此不可为接续。静态类非能够包含构造函数,但准只是声明静态构造函数以分配初始值或设置有静态状态。

注意

静态类不克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;

        }

 

    }