ValueTuple en tant que nouvelle fonctionnalité dans C# 7.0 est la méthode publique Create
qui aide à créer ValueTuples (à partir de singleton to octuple
ou plus) d'autre part, nous pouvons également utiliser new
pour atteindre les mêmes résultats. J'ai remarqué que ces comportements se comportaient différemment. Je suis en train de recherche est inférieure à la mise en œuvre incorrecte ou c'est quelque chose que par la conception:ValueTuple: quel est le problème avec la création d'octuple?
Méthode CreateOctuple()
fonctionne comme prévu:
private static ValueTuple<int, int, int, int, int, int, int, ValueTuple<int>> CreateOctuple()
{
return new ValueTuple<int, int, int, int, int, int, int, ValueTuple<int>>(1, 2, 3, 4, 5, 6, 7, new ValueTuple<int>(8)); ;
}
Maintenant, j'ai essayé d'obtenir même méthode sortie en utilisant Create()
, malheureusement, il se plaint du type de retour:
private static ValueTuple<int, int, int, int, int, int, int, ValueTuple<int>> OctupleUsingCreate()
{
return ValueTuple.Create(1, 2, 3, 4, 5, 6, 7, ValueTuple.Create(8));
}
P.S. Tous les paquets sont à jour et j'utilise Visual Studio 2017 - dernière version.
Comme suggéré par Svick
static ValueTuple<int, int, int, int, int, int, int, ValueTuple<int>> OctupleUsingCreate()
{
return ValueTuple.Create(1, 2, 3, 4, 5, 6, 7, 8);
}
Cette invites exception du même compilateur:
J'ai déjà essayé ça. Mais ça ne fonctionnait pas. J'ai mis à jour la question avec snapshot et le code comme sugegsted. –
@GauravAroraa C'est juste un bug ReSharper. Le code compile et fonctionne bien. – svick
@GauravAroraa Je viens de [rapporté] (https://youtrack.jetbrains.com/issue/RSRP-464845). – svick