【问题标题】:Error CS7036: There is no argument given that corresponds to the required formal parameter 'namn' of Lärare.Lärare错误 CS7036:没有给出与 Lärare.Lärare 所需的形式参数“namn”相对应的参数
【发布时间】:2020-12-26 16:21:39
【问题描述】:

当试图创建一个新的实例时

Lärare L = new Lärare(); 

我收到以下错误:

严重性代码描述项目文件行抑制状态 错误 CS7036 没有给出与 'Lärare.Lärare(string, int, long, string, int, bool, int)' LogicLayer C:\Users\famil\Desktop\Sysvet\ 的所需形式参数 'namn' 相对应的参数OOSU1\lab 2\Högskolan\LogicLayer\Program.cs 20 活动

我已尝试将其更改为Lärare L = new Lärare(namn, personalID, personnummer, email, telNr, adminRights, lärarLagsID);

因为默认构造函数是

    public Lärare(string namn, int personalID, long personnummer, string email, int telNr, bool adminRights, int lärarLagsID)
    {
        Namn = namn;
        PersonalID = personalID;
        Personnummer = personnummer;
        Email = email;
        TelNr = telNr;
        AdminRights = adminRights;
        LärarLagsID = lärarLagsID;
    }

然后我只得到

严重性代码描述项目文件行抑制状态 错误 CS0165 使用未分配的局部变量 'namn' LogicLayer C:\Users\famil\Desktop\Sysvet\OOSU1\lab 2\Högskolan\LogicLayer\Program.cs 20 Active

对于除 adminRights 之外的每个变量

我想要实现的是创建一个实例,以便将信息添加到列表中。

Lärare 类实现了一个名为 IPersonal 的接口,其中包含以下变量和方法

 string Namn { get; set; }

    int PersonalID { get; set; }

    long Personnummer { get; set; }

    string Email { get; set; }

    int TelNr { get; set; }

    bool AdminRights { get; set; }

    int LärarLagsID { get; set; }

    string läggTillLärare(string Namn, int PersonalID, long Personnummer, string Email, int TelNr, bool AdminRights, int LärarlagsID);

    void taBortLärare(string Namn, int PersonalID, long Personnummer, string Email, int TelNr, bool AdminRights, int LärarLagsID);

ps。这是一个学校项目,我们必须在我们使用的所有类上实现一个接口。

【问题讨论】:

  • 错误消息是说您在分配任何值之前使用了变量namn。在使用变量创建对象L 之前,检查变量是否已被赋值。如果您仍有问题,请发布所有相关代码
  • 离题了,但是你真的应该尽量保持你的代码是英文的,你也应该尽量遵循 c# 命名约定
  • 如果 default 构造函数需要所有参数,您希望Lärare L = new Lärare(); 做什么?如果您使用Lärare L = new Lärare(namn, personalID, personnummer, email, telNr, adminRights, lärarLagsID); 提供值,那么那些 值是从哪里来的?

标签: c# object


【解决方案1】:

感谢大家,我已经设法解决了这个问题,方法是更改​​我所指的 Personal 类并创建一个名为 Larare 的新类,其中我只实现了一个接口和一个默认构造函数,其变量与旧的基本相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 2019-10-22
    • 2017-07-18
    • 2019-06-30
    • 1970-01-01
    • 2016-05-13
    相关资源
    最近更新 更多