Obtener " Nombre de elemento de tupla se infiere. Utilice la versión de idioma 7.1 o superior para acceder a un elemento por su nombre inferido."
Tenemos el siguiente código que ha estado funcionando bien en nuestra aplicación UWP hasta hoy después de actualizar Visual Studio 2017 a la última 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 ningún mensaje de error, pero esto en la ventana de salida
Se infiere el nombre del elemento de tupla 'items'. Por favor, 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?
3 answers
Proyecto - > Propiedades->Compilación->Avanzado->Versión de idioma - > C# última versión menor
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-16 06:45:35
Este es un error confirmado, introducido en 15.3. La corrección se enviará como parte de una versión de mantenimiento (15.3.2).
El problema se rastrea en https://github.com/dotnet/roslyn/issues/21518
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-30 20:46:25
Parece que esto es un cambio de ruptura en C# 7.1. (como señaló @JulienCouvreur, esto es en realidad un error, pero la solución a continuación debería seguir funcionando).
Solución alternativa
Intente dar un nombre (por ejemplo, use el mismo nombre items
de IList<(string, bool)> items
para ser consistente) explícitamente a items
(es decir, la instancia de lista).
var group = (Guid.NewGuid(), items: items);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-16 11:29:23