http://baike.baidu.com/view/2634573.htm?fr=aladdin
在百科上看到C#的新特性静态构造函数,其中提到静态构造函数“不能继承” 今天做了个试验,发现实际上静态构造函数是可以继承的,代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 静态构造函数 {public class Parent{protected static int var1;static Parent(){var1 = 100;}}public class Child:Parent{public int GetVar1(){return var1;}}class Program{static void Main(string[] args){Console.WriteLine(new Child().GetVar1());Console.ReadKey();}} }
运行结果显示100 说明虽然是父类的静态构造函数 但是在创建子类实例前这个静态构造函数也被调用过了
另外一种情况是带有static修饰的类,因为同时被定义为sealed,也就是静态类,是不能被继承的,因而也无所谓它的静态构造函数是否能继承了。