2013-05-29 61 views
1

我創建了一個公共類,寫一個公共構造函數參數,如:發送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");      
       } 

然後,我得到了錯誤:Error 49 Expected;或=(無法在聲明中指定構造函數參數)

問題在哪裏,我該如何解決?

+0

我應該說:你可能會發現它更有效地使用像奧姆斯或微型的ORM工具來填充的對象; 「使用數據讀取器來填充對象」是相當多的問題 –

回答

5

該語法根本無效;嘗試:

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

或(相同的結果):

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

你應該使用構造函數new運營商等;

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

您的語法對C#無效。

new Operator (C# Reference)

Used to create objects and invoke constructors.