当我尝试构造以下对象时:
Tijdschrift tijdschrift = new Tijdschrift
{
Id = "ID01",
Titel = "Scientific American",
Datum = new DateTime(2014, 8, 1),
Uitgeverij = "Scientific American"
};
我收到以下错误:
错误CS7036没有给出对应于所需形式参数的参数' Id' of' Tijdschrift.Tijdschrift(string,string,DateTime,string)'目录C:\ Users \ Robiin \ Documents \ Labo03 \ Labo03 \ Program.cs 13
我不知道为什么说实话,我的构造函数如下所示。
public Tijdschrift(string Id, string titel, DateTime datum, string uitgeverij)
{
Datum = datum;
this.Id = Id;
Titel = titel;
Uitgeverij = uitgeverij;
}
答案 0 :(得分:2)
您正在使用object initializer语法。您首先发布的代码尝试调用无参数构造函数,然后设置属性。使用括号()
传递构造函数参数:
Tijdschrift tijdschrift = new Tijdschrift ("ID01",
"Scientific American",
new DateTime(2014, 8, 1),
"Scientific American");
答案 1 :(得分:0)
尝试调用这样的构造函数:
Tijdschrift tijdschrift = new Tijdschrift ("ID01",
"Scientific American",
new DateTime(2014, 8, 1),
"Scientific American");
答案 2 :(得分:0)
您问题的另一个解决方案是添加无参数构造函数。然后你的对象初始化程序工作正常。
public class Tijdschrift {
public DateTime Datum {get;set;}
public string Id {get;set;}
public string Titel {get;set;}
public string Uitgeverij {get;set;}
public Tijdschrift(){}
public Tijdschrift(string Id, string titel, DateTime datum, string uitgeverij)
{
Datum = datum;
this.Id = Id;
Titel = titel;
Uitgeverij = uitgeverij;
}
}