最近在調代碼,發現一個很詭異的問題,簡單復原一下
創建4.0控制臺項目
以下代碼
1 class PRogram 2 { 3 4 static void Main(string[] args) 5 { 6 var item = new { Id = "a7b97947-2ddb-4454-8bad-c0a95e0431aa" }; 7 var client = new SqlClient(); 8 var data = client.QueryByPage("aaaa", 1, 3, item); 9 10 }11 }12 public class SqlClient13 {14 public virtual object QueryByPage(string sql, int page, int count, object item)15 {16 return null;17 }18 }
在第8行打斷點,調試時報錯
那么繼續,將QueryByPage方法改為泛型
data的返回值都錯了
那么這個問題讓我們百思不得其解
VS2013U3和U4都有此問題,那么在這種條件下做了一下測試
1、先改為4.5項目,正常
2、將virtual關鍵字去除,正常
3、將object類型的參數去除,正常
4、將object前面的參數減少為2個,正常
最后,在沒有任何變化的情況下
1、使用VS2010調試,正常
2、程序直接運行,正常
園子里的各位,有誰能給個解釋嗎?
新聞熱點
疑難解答