关于base. tor()的解释
本文关键字:解释 base tor 关于 | 更新日期: 2023-09-27 18:10:31
我从我的朋友那里得到一个应用程序来开发。然后在代码中,我得到了这样令人困惑的代码:
public someNameHere()
{
base..ctor();
}
我从来没有遇到过这样的应用程序。我需要一个解释
基地. .男星();
我用谷歌搜索了一下,找不到令我满意的答案。非常感谢您对我的帮助。
.ctor()
是构造函数使用的内部名称。它在c#中不是这样使用的,并且不编译。更典型的是,base..ctor()
仅在以下情况下由编译器使用:
public class Foo : Bar {
public Foo(string s) : base(s) {...}
public Foo() {...} // has an implicit :base()
}
我唯一一次看到不同的做法是在反编译(通过反射器等)一些非c# IL以不同的顺序执行构造代码时,以c#编译器的方式进行编译,因此无法在"纯"c#中表达。在原始IL(以及c++等)中,您可以在构造函数中的任何点调用基本构造函数,而不仅仅是在开始处。
应该是基类的默认无参数构造函数。详细说明,.ctor()
是编译c#时自动生成的构造函数的别名。所以写base..ctor()
是在基类中引用.ctor()
方法