gpt4 book ai didi

c# - 为什么进入静态 .ctors 的顺序与继承类中的实例 .ctors 不同?

转载 作者:行者123 更新时间:2023-11-30 17:14:05 24 4
gpt4 key购买 nike

为什么 var b = new B() 首先进入 static B() .ctor 而不是 static A () .ctor 而不是像实例构造函数那样反之亦然 (public A() 而不是 < strong>public B())?

public class A
{
static A() {}
public A() {}
}

public class B : A
{
static B() {}
public B() {}
}

最佳答案

从技术上讲,首先输入B 的实例构造函数。但它做的第一件事是调用 A 的构造函数,然后才转到用户定义的主体。

所以我假设在 B 的构造函数被输入之前,B 的静态构造函数需要运行。

然后B的构造函数调用A的构造函数,从而触发A的静态构造函数。

关于c# - 为什么进入静态 .ctors 的顺序与继承类中的实例 .ctors 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9141092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com