将SqlDataReader作为参数和构造函数参数错误发送到构造函数

时间:2013-05-29 06:44:33

标签: c# constructor sqldatareader

我创建了一个公共类,并使用以下参数编写了一个公共构造函数:

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");                    
                }

然后在调试期间,我收到错误:错误49预期;或=(不能在声明中指定构造函数参数)

问题出在哪里?我该如何解决?

2 个答案:

答案 0 :(得分:5)

该语法无效;尝试:

Patient myP = new Patient(reader, "L");

或(相同的结果):

var myP = new Patient(reader, "L");

答案 1 :(得分:1)

您应该将构造函数与new运算符一起使用;

Patient p = new Patient(reader, "L");

您的语法对C#无效。

来自new Operator (C# Reference)

  

用于创建对象和调用构造函数