zoukankan      html  css  js  c++  java
  • C# "error CS1729: 'XXClass' does not contain a constructor that takes 0 arguments"的解决方案

    出现这种错误的原因时,没有在子类的构造函数中指出仅有带参构造函数的父类的构造参数。

    具体来讲就是:

    当子类要重用父类的构造函数时, C# 语法通常会在子类构造函数后面调用 : base( para_type, parameter).

    假设父类有一个参数个数为1的构造函数, 没有 0 参构造函数。 子类想要重用这个构造函数, 如果没有写 :base(para_type, parameter), 就会有这个错误。 

    因为如果没写, VS 会认为子类是继承父类的 0 参构造函数, 但是由于父类并没有定义 0 参构造函数, 所以就会报错。

    另外, 可以在base()中调用一个静态方法来修改子类构造函数的参数在传递给父类构造函数。 如:

        class ParentClass  
        {  
             public ParentClass(string Name)  
             {}  
        }  
        class ChildClass  
        {  
              public ChildClass(string firstName, string familyName):base( CombineName(firstName, familyName))
              {
          }  
              static string ConbineName(string firstName, string familyName)  
              {
            return string.Format("{0},{1}", firstName, familyName);
          }
        }
    

    参考文章

    1.changtianshuiyue. C# does not contain a constructor that takes no parameter , 2014-9。

  • 相关阅读:
    String类型操作命令及api使用
    回顾Redis基础
    kibana6 安装
    elasticsearch安装
    flink 异常
    Scala异常
    idea配置
    mysql error 1577解决
    Hbase与phoenix关联
    CS61b lab4打卡
  • 原文地址:https://www.cnblogs.com/arxive/p/5807553.html
Copyright © 2011-2022 走看看