zoukankan      html  css  js  c++  java
  • 关于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,也就是静态类,是不能被继承的,因而也无所谓它的静态构造函数是否能继承了。

  • 相关阅读:
    python3笔记-列表
    python3笔记-字典
    MD侧滑
    SnackBar使用
    TextIInputLayout使用
    Toolbar与SearchView
    Palette使用
    TabLayout使用
    沉浸式-体验
    沉浸式-兼容优化
  • 原文地址:https://www.cnblogs.com/fancybit/p/static_constructor.html
Copyright © 2011-2022 走看看