我们将以下代码在我们的UWP应用程序中运行良好,直到今天我们将Visual Studio 2017更新为最新的 15.3 。
private void Test()
{
var groups = new List<(Guid key, IList<(string, bool)> items)>();
var items = new List<(string, bool)>
{
("a", true),
("b", false),
("c", false)
};
var group = (Guid.NewGuid(), items);
groups.Add(group);
}
在输出窗口
中没有错误消息元组元素名称&#39;项目&#39;是推断。请使用语言版本 7.1或更高版本,以通过其推断名称访问元素。
知道为什么以及如何解决这个问题?
答案 0 :(得分:65)
Project-&gt; Properties-&gt; Build-&gt; Advanced-&gt; Language Version-&gt; C#latest minor Version
答案 1 :(得分:10)
这是一个确认的错误,在15.3中引入。该修复程序将作为服务版本(15.3.2)的一部分提供。
跟踪问题答案 2 :(得分:7)
看起来这是C# 7.1 中的breaking change。(正如@JulienCouvreur所指出的,这实际上是一个错误,但下面的解决方法应该是仍然工作)。
解决方法强>
尝试将{em>名称(例如,使用IList<(string, bool)> items
中的同一名称items
明确地一致)明确地var group = (Guid.NewGuid(), items: items);
(即列表实例)。< / p>
navigationView.setCheckedItem(R.id.something)