VS2013诡异问题,虚方法、泛型,通通躺枪_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > VS2013诡异问题,虚方法、泛型,通通躺枪

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

 2015/4/2 17:05:06  chinaboard  程序员俱乐部  我要评论(0)
  • 摘要:最近在调代码,发现一个很诡异的问题,简单复原一下创建4.0控制台项目以下代码1classProgram2{34staticvoidMain(string[]args)5{6varitem=new{Id="a7b97947-2ddb-4454-8bad-c0a95e0431aa"};7varclient=newSqlClient();8vardata=client.QueryByPage("aaaa",1,3,item);910}11}12publicclassSqlClient13
  • 标签:方法 问题 泛型

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

 

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

 

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

发表评论
用户名: 匿名