【发布时间】:2015-10-30 20:46:10
【问题描述】:
Visual Studio 2013 和 2015 有很大的问题。在一个类中,我定义了这两种方法:
public List<T> LoadData<T>(string connectionStringName = "", string optWherePart = "", params object[] parameter)public List<T> LoadData<T>(string optWherePart, params object[] parameter)
我只想这样调用第二种方法:
....LoadData<Config_Info>("ConfigName LIKE 'Version' AND UserName LIKE '' AND PlugInName Like ?", parameter: ProductName);
如果我在 Visual Studio 2013 中进行定义,我会进入第二个方法声明,但在 Visual Studio 2015 中,我会进入第一个。两种解决方案都是 完全一样。
即使编译结果不同,所以如果我用 VS 2015 编译相同的解决方案,程序就会停止工作。
这是一种非常奇怪的行为。
有没有人知道,有什么区别?
【问题讨论】:
-
ProductName的类型是什么? -
我是一个简单的字符串。
-
好的,所以我在 VS2010 上尝试了这个,Go To Definition 转到了#2(但我没有运行它,所以无法确认它调用的是哪个。)我在家里试过了VS2015 和 Go To Definition 转到 #1,Run 转到 #1。我在 VS2013 上在家尝试过,Go To Definition 转到 #2 并运行转到 #2。要么是在 2013 年的 Intellisense 中存在一个在 2015 年修复的错误,要么是 Roslyn 被破坏并且以某种方式安装 2015 破坏了 2013 编译器但不是 Intellisense。
-
我应该报告一些地方吗?非常感谢!
-
Here 我猜。我认为这 是 编译器中的一个错误;我正要写一个答案。
标签: c# visual-studio visual-studio-2013 visual-studio-2015 go-to-definition