zoukankan      html  css  js  c++  java
  • C# 静态变量、静态函数、实体变量、实体函数在一个类中的执行顺序

    为了弄清这个代码,写了个测试,但是测试的结果和往上的代码有所差别,仁者见仁,智者见智了。如果我的测试用例用问题,欢迎指出。

    首先,方法的是在被调用时执行,但是静态方法在所有地方都可以调用,应该在很早的时候就被编译了。这个测试依赖静态方法来输出顺序。

        public class WhenCodeThread : ITestSample
        {
            public class Test : TestBase
            {
                 int instanceParam2 = staticFunction("子类实体变量");
                 static int staticParam2 = staticFunction("子类静态变量");
                static Test()
                {
                    Console.WriteLine("-- 子类静态构造函数被执行 --");
                }
    
                public Test()
                {
                    Console.WriteLine("-- 子类实体构造函数被执行 --");
                }
            }
            public class TestBase
            {
                int instanceParam = staticFunction("基类实体变量");
                static int staticParam = staticFunction("基类静态变量");
                static TestBase()
                {
                    Console.WriteLine("-- 基类静态构造函数被执行 --");
                }
    
                public TestBase()
                {
                    Console.WriteLine("-- 基类实体构造函数被执行 --");
                }
    
                protected static int staticFunction(string name)
                {
                    Console.WriteLine($"-- {name}被执行 --");
                    return 1;
                }
    
            }
    
            public event Action TestCompleted;
            public void StartTest()
            {
                Console.WriteLine("-- 第一次实例化类 --");
                new Test();
    
                Console.WriteLine("-- 第二次实例化类 --");
                new Test();
            }
    
        }

    控制台调用 StartTest() 可以看到结果

  • 相关阅读:
    js正则表达式中的问号使用技巧总结
    380. Insert Delete GetRandom O(1)
    34. Find First and Last Position of Element in Sorted Array
    162. Find Peak Element
    220. Contains Duplicate III
    269. Alien Dictionary
    18. 4Sum
    15. 3Sum
    224. Basic Calculator
    227. Basic Calculator II
  • 原文地址:https://www.cnblogs.com/tanl/p/12765754.html
Copyright © 2011-2022 走看看