当前位置:  开发笔记 > 编程语言 > 正文

在C#中调用基础构造函数

如何解决《在C#中调用基础构造函数》经验,为你挑选了3个好方法。



1> OregonGhost..:

您必须在派生类构造函数的主体之前调用基类构造函数.

class Derived : Base
{
  public Derived(string someParams)
    : base("Blah " + someParams)
  {

  }

}



2> Dinah..:

你不能.您可以在之前调用它:

public Derived() : base()

或者你必须使用一个钩子

class Base
{
  protected void init() { }
  public Base(string sMessage)
  {
     init();
  }
}

class Derived : Base
{
  public Derived(string someParams)
  {
   string sMessage = "Blah " + someParams;
   init();
  }
}



3> 小智..:

我最初错过了OregonGhost关于使用静态方法修改参数的评论,这对我来说是最有用的,所以我想我会为阅读这个帖子的其他人添加一个代码示例:

class Base
{
    public Base( string sMessage )
    {
        // Do stuff
    }
}

class Derived : Base
{
    public Derived( string sMessage ) : base( AdjustParams( sMessage ) )
    {
    }

    static string AdjustParams( string sMessage )
    {
        return "Blah " + sMessage;
    }
}

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有