你的位置:首页 > ASP.net教程

[ASP.net教程]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 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、程序直接运行,正常

 

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