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 ,如需转载请自行联系原作者
相关文章
|
4月前
|
开发框架 前端开发 JavaScript
C# 6.0+JavaScript云LIS系统源码  云LIS实验室信息管理新型解决方案
云LIS是为区域医疗提供临床实验室信息服务的计算机应用程序,可协助区域内所有临床实验室相互协调并完成日常检验工作,对区域内的检验数据进行集中管理和共享,通过对质量控制的管理,最终实现区域内检验结果互认。其目标是以医疗服务机构为主体,以医疗资源和检验信息共享为目标,集成共性技术及医疗服务关键技术,建立区域协同检验,最大化利用有限的医疗卫生资源。
146 1
|
24天前
|
Linux C#
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
|
4月前
|
SQL 开发框架 .NET
C# Linq SaveChanges()报错 You have an error in your SQL syntex
C# Linq SaveChanges()报错 You have an error in your SQL syntex
21 0
|
11月前
|
C#
C#之四十二 C# 读写文本文件乱码解决方案
C#之四十二 C# 读写文本文件乱码解决方案
316 0
|
C#
C# .Resx文件无效解决方案 Resx文件报错解决方法
C# .Resx文件无效解决方案 Resx文件报错解决方法
746 7
C# .Resx文件无效解决方案 Resx文件报错解决方法
|
测试技术 C# C++
C# 如何部分加载“超大”解决方案中的部分项目
在有的特有的项目环境下,团队会将所有的项目使用同一个解决方案进行管理。这种方式方面了管理,但是却会导致解决方案变得非常庞大,导致加载时间过长。那么,如何部分加载解决方案中的部分项目呢?
189 0
C# 如何部分加载“超大”解决方案中的部分项目
|
程序员 C#
【C#】SignalR之主动推送信息的简单解决方案
在本篇文章中,将讲讲C#如何使用SignalR通讯 Core下的SignalR实现原理一样,只是写法不一样,主动推送消息的场景使用:页面登录后台管理系统,最新订单信息的通知等
272 0
|
C# 开发工具
基于C#的ArcEngine二次开发47:Addins常见问题解决方案集锦
基于C#的ArcEngine二次开发47:Addins常见问题解决方案集锦
基于C#的ArcEngine二次开发47:Addins常见问题解决方案集锦
|
C#
C# 启动程序提示签名时出错: 未能对 bin\x86\Debug\app.publish\*.exe 签名。 SignTool Error: No certificates we
C# 启动程序提示签名时出错: 未能对 bin\x86\Debug\app.publish\*.exe 签名。 SignTool Error: No certificates we
563 0
C# 启动程序提示签名时出错: 未能对 bin\x86\Debug\app.publish\*.exe 签名。 SignTool Error: No certificates we
|
关系型数据库 MySQL 网络安全
【C#】【MySQL】【配置数据源】SSL Connection error 发生一个或多个错误。由于·意外的数据包格式,握手失败
【C#】【MySQL】【配置数据源】SSL Connection error 发生一个或多个错误。由于·意外的数据包格式,握手失败
206 0
【C#】【MySQL】【配置数据源】SSL Connection error 发生一个或多个错误。由于·意外的数据包格式,握手失败