关于c#静态构造函数_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 关于c#静态构造函数

关于c#静态构造函数

 2014/9/30 15:07:29  FancyBit  程序员俱乐部  我要评论(0)
  • 摘要:http://baike.baidu.com/view/2634573.htm?fr=aladdin在百科上看到C#的新特性静态构造函数,其中提到静态构造函数“不能继承”今天做了个试验,发现实际上静态构造函数是可以继承的,代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace静态构造函数
  • 标签:构造函数 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,也就是静态类,是不能被继承的,因而也无所谓它的静态构造函数是否能继承了。

发表评论
用户名: 匿名