关于base. tor()的解释

本文关键字:解释 base tor 关于 | 更新日期: 2023-09-27 18:10:31

我从我的朋友那里得到一个应用程序来开发。然后在代码中,我得到了这样令人困惑的代码:

public someNameHere()
{
   base..ctor();
} 

我从来没有遇到过这样的应用程序。我需要一个解释

基地. .男星();

我用谷歌搜索了一下,找不到令我满意的答案。非常感谢您对我的帮助。

关于base. tor()的解释

.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()方法