Это уже делает; давайте запустим ваш код через sharplab.io и посмотрим на IL для B
:
.class public auto ansi beforefieldinit B
extends A
{
// Methods
.method public hidebysig specialname rtspecialname
instance void .ctor () cil managed
{
// Method begins at RVA 0x2058
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void A::.ctor()
IL_0006: ret
} // end of method B::.ctor
} // end of class B
, мы можем видеть здесь, что B
имеет конструктор publi c без параметров, который вызывает конструктор A
без параметров (on IL_0001
). По сути,
public class B : A {
}
является сокращением для
public class B : A {
public B() : base() {}
}