VS2013诡异问题,虚方法、泛型,通通躺枪

最近在调代码,发现一个很诡异的问题,简单复原一下

 

创建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 SqlClient
13     {
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、程序直接运行,正常

 

园子里的各位,有谁能给个解释吗?

posted on 2015-04-02 15:28  chinaboard  阅读(771)  评论(1编辑  收藏  举报