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()中调用一个静态方法来修改子类构造函数的参数在传递给父类构造函数。 如:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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.changtianshuiyueC# does not contain a constructor that takes no parameter , 2014-9。

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。




    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5807553.html ,如需转载请自行联系原作者

相关文章
成功解决:Error in created hook: “ReferenceError: params is not defined“
该博客文章描述了作者解决"ReferenceError: params is not defined"错误的过程,原因是路由传递的params参数与调用方法中的参数名称冲突,最终通过检查接口参数解决了问题。
成功解决:Error in created hook: “ReferenceError: params is not defined“
|
6月前
|
存储 JSON 开发框架
给开源大模型带来Function Calling、 Respond With Class
OpenAI 在他的多个版本的模型里提供了一个非常有用的功能叫 Function Calling,就是你传递一些方法的信息给到大模型,大模型根据用户的提问选择合适的方法,然后输出给你,你再来执行。
【已解决】Error: Element type is invalid: expected a string (for built-in components) or a class/function
Error: Element type is invalid: expected a string (for built-in components) or a class/function
2548 0
【已解决】Error: Element type is invalid: expected a string (for built-in components) or a class/function
error: implicit declaration of function ‘read‘ [-Werror,-Wimplicit-function-declaration]
error: implicit declaration of function ‘read‘ [-Werror,-Wimplicit-function-declaration]
257 0
|
C语言
error: implicit declaration of function ‘VerifyFixClassname‘ is invalid in C99 [-Werror,-Wimplicit-f
error: implicit declaration of function ‘VerifyFixClassname‘ is invalid in C99 [-Werror,-Wimplicit-f
148 0
|
计算机视觉
opencv出错:error: (-213:The function/feature is not implemented) Unknown/unsupported array type
opencv出错:error: (-213:The function/feature is not implemented) Unknown/unsupported array type
466 0
|
安全 Linux
linux系统下,警告:warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration] 和 warning: the `gets' function is dangerous and should
字符数组 的英文名字是 char [] gets()函数的基本用法为:char *gets(char *s); 该函数的参数是一个字符数组,该函数的返回值也是一个字符数组。 linux下的代码如下: 1 #include 2 3 int main() 4 { 5    c...
1992 0