极品C#构造函数语法详解谁能给我解释一下下面的构造函数语法。以前没遇到过,是在同事的代码里注意到的。publicService():this(Service.DoStuff(),DoMoreStuff()){}链接到同一类中的另一个构造函数。基本上任何构造函数都可以使用:this(...)链接到同一类中的另一个构造函数,或者使用:base(...)链接到基类中的构造函数。如果没有,则相当于:base()。链式构造函数在实例变量初始值设定项执行之后但在构造函数主体之前执行。有关详细信息,请参阅有关构造函数链接的文章或有关C#构造函数的MSDN主题。例如,考虑以下代码:publicclassBaseClass{publicBaseClass(stringx,inty){Console.WriteLine("基类构造函数");Console.WriteLine("x={0},y={1}",x,y);}}publicclassDerivedClass:BaseClass{//链接到1参数构造函数publicDerivedClass():this("Foo"){Console.WriteLine("Derivedclassparameterless");}publicDerivedClass(stringtext):base(text,text.Length){Console.WriteLine("带参数的派生类");}}staticclassTest{staticvoidMain(){newDerivedClass();DerivedClass中的Main方法调用DerivedClass的无参构造函数。它链接到DerivedClass的单参数构造函数,然后链接到BaseClass的双参数构造函数。当该基本构造函数完成时,DerivedClass的单参数构造将继续,然后当完成时,原始的无参数构造函数将继续。所以输出是:基类构造函数x=Foo,y=3带参数的派生类派生类无参数在这种情况下,必须有第二个构造函数,它将接受两个参数——Service.DoStuff()和DoMoreStuff()的返回值。这两个方法必须是静态方法。以上就是C#学习教程:C#构造函数语法讲解,分享全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
