首页 > 学院 > 开发设计 > 正文

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

2019-11-17 02:28:26
字体:
来源:转载
供稿:网友

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

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表