最近在調(diào)代碼,發(fā)現(xiàn)一個很詭異的問題,簡單復(fù)原一下
創(chuàng)建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行打斷點,調(diào)試時報錯
那么繼續(xù),將QueryByPage方法改為泛型
data的返回值都錯了
那么這個問題讓我們百思不得其解
VS2013U3和U4都有此問題,那么在這種條件下做了一下測試
1、先改為4.5項目,正常
2、將virtual關(guān)鍵字去除,正常
3、將object類型的參數(shù)去除,正常
4、將object前面的參數(shù)減少為2個,正常
最后,在沒有任何變化的情況下
1、使用VS2010調(diào)試,正常
2、程序直接運(yùn)行,正常
園子里的各位,有誰能給個解釋嗎?
新聞熱點
疑難解答