C# 我如何修复错误;没有给出与所需形式参数';名称'&引用;
我有一个从另一个类(EmployeeClass)继承值的类EngineerClass 我希望Windows窗体使用另一个类中的值,并将它们显示在文本框中。当试图在表单类中调用EngineerClass时,我遇到了标题中提到的错误C# 我如何修复错误;没有给出与所需形式参数';名称'&引用;,c#,winforms,class,constructor,C#,Winforms,Class,Constructor,我有一个从另一个类(EmployeeClass)继承值的类EngineerClass 我希望Windows窗体使用另一个类中的值,并将它们显示在文本框中。当试图在表单类中调用EngineerClass时,我遇到了标题中提到的错误 class EngineerClass : EmployeeClass { private int trafficHours; public int TrafficHours { set { trafficHours =
class EngineerClass : EmployeeClass
{
private int trafficHours;
public int TrafficHours
{
set { trafficHours = value; }
get { return trafficHours; }
}
public EngineerClass(String name, int id, int pay, int wh) : base(name, id, pay, wh)
{
trafficHours = 0;
}
public void addTrafficHours(int tH)
{
trafficHours = tH;
workedHours += trafficHours;
}
}
要成为一名工程师,你需要四样东西:
public EngineerClass(String name, int id, int pay, int wh)
“name”、“id”等都是形式参数。它们是必需的
您没有提供任何东西:
private EngineerClass Class = new EngineerClass();
您提供的与形式相对应的内容称为参数
您没有提供的内容之一是与名称相对应的参数,因此出现错误:“没有给定与所需的形式参数‘name’相对应的参数”
我怎么修理它
或者
- 提供所需形式参数的参数,或
- 使其成为可选的形式参数,或
- 创建第二个构造函数,该构造函数不接受任何形式参数
请记住,无论您做什么,您的派生类都必须满足其基类构造函数的要求。
公共EngineerClass(字符串名称、int-id、int-pay、int-wh)
您的新EngineerClass()
代码必须包含所有这四个参数。如果您不想这样做,您需要向EngineerClass
添加一个无参数构造函数。当我们查看您的代码时:不要根据程序中的内容命名。这应该是class Employee
而不是class EmployeeClass
。制造化合物时不要使用缩写:fmrEngineer
应为EngineerForm
。当您遵循标准约定时,您的代码将更易于阅读、理解和调试。此外,任何时候您看到一个名为int
的字段,其名称表示时间段,如Hours
,都可能出了问题。为什么是int
而不是合适的类型,例如TimeSpan
?
private EngineerClass Class = new EngineerClass();