【发布时间】: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);提供值,那么那些 值是从哪里来的?