将SqlDataReader作为参数和构造函数参数发送给构造函数错误
本文关键字:参数 构造函数 错误 SqlDataReader | 更新日期: 2023-09-27 18:15:44
我创建了一个公共类并编写了一个带有如下参数的公共构造函数:
public Patient(SqlDataReader reader, string p) {
if (p == "L") {
Name = reader[0].ToString();
}
else { }
}
那么我使用了这个构造函数,比如
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Patient myP(reader, "L");
}
然后在调试过程中,我得到了错误:error 49 Expected;Or =(不能在声明中指定构造函数参数)
问题在哪里,我该如何解决它?
这种语法根本无效;试一试:
Patient myP = new Patient(reader, "L");
或(相同的结果):
var myP = new Patient(reader, "L");
您应该使用new
操作符的构造函数,如;
Patient p = new Patient(reader, "L");
你的语法在c#中是无效的。
源自new Operator (C# Reference)
用于创建对象和调用构造函数。