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 ,如需转载请自行联系原作者
相关文章
|
2月前
|
SQL 开发框架 .NET
C# Linq SaveChanges()报错 You have an error in your SQL syntex
C# Linq SaveChanges()报错 You have an error in your SQL syntex
10 0
|
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
433 0
C# 启动程序提示签名时出错: 未能对 bin\x86\Debug\app.publish\*.exe 签名。 SignTool Error: No certificates we
|
关系型数据库 MySQL 网络安全
【C#】【MySQL】【配置数据源】SSL Connection error 发生一个或多个错误。由于·意外的数据包格式,握手失败
【C#】【MySQL】【配置数据源】SSL Connection error 发生一个或多个错误。由于·意外的数据包格式,握手失败
144 0
【C#】【MySQL】【配置数据源】SSL Connection error 发生一个或多个错误。由于·意外的数据包格式,握手失败
|
安全 C# Windows
windows 2008 下C#调用office组件访问拒绝的解决方法(failed due to the following error: 80070005 拒绝访问)
"组件服务"- >"计算机"- >"我的电脑"- >"DCOM配置"->找到word->属性->"标识"标签,选择"交互式用户" 备注:(如果出现注销服务器后就报错“error: 8000401a 因为配置标识不正确,系统无法开始服务器进程。
1074 0
|
SQL C# 数据库
C# 连接 SQL Server 数据库,出现异常:provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接
System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。
1810 0
|
1月前
|
C#
24. C# 编程:用户设定敌人初始血值的实现
24. C# 编程:用户设定敌人初始血值的实现
22 0
|
2月前
|
SQL 数据库连接 应用服务中间件
C#WinForm基础编程(三)
C#WinForm基础编程
77 0
|
2月前
C#WinForm基础编程(二)
C#WinForm基础编程
58 0
|
2月前
|
C# 数据安全/隐私保护
C#WinForm基础编程(一)
C#WinForm基础编程
62 0