首页 > 学院 > 开发设计 > 正文

关于c#静态构造函数

2019-11-17 02:51:18
字体:
来源:转载
供稿:网友

关于c#静态构造函数

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,也就是静态类,是不能被继承的,因而也无所谓它的静态构造函数是否能继承了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表