c# visual-studio uwp visual-studio-2017 c#-7.0

c# - Obteniendo "El nombre del elemento Tuple es inferido. Utilice la versión de idioma 7.1 o superior para acceder a un elemento por su nombre inferido ".



visual-studio uwp (3)

Tenemos el siguiente código que ha funcionado bien en nuestra aplicación UWP hasta hoy después de actualizar Visual Studio 2017 a la última versión 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); }

No hay mensaje de error, pero esto en la ventana de salida

Se deduce el nombre del elemento Tuple ''elementos''. Utilice la versión de idioma 7.1 o superior para acceder a un elemento por su nombre inferido.

¿Alguna idea de por qué y cómo solucionar esto?


Proyecto-> Propiedades-> Compilación-> Avanzado-> Versión del lenguaje-> C # última versión menor


Parece que este es un cambio radical en C # 7.1 . (como señaló @JulienCouvreur, esto es realmente un error, pero la solución a continuación aún debería funcionar).

Solución

Intente dar un nombre (por ejemplo, use los mismos items del nombre de IList<(string, bool)> items para ser consistentes) explícitamente para los items (es decir, la instancia de la lista).

var group = (Guid.NewGuid(), items: items);