Changements majeurs au niveau de Visual Basic dans Visual Studio 2012
Le tableau suivant répertorie les modifications qui peuvent empêcher une application créée dans Visual Basic 2010 de compiler dans Visual Basic dans Visual Studio 2012 et les modifications peuvent modifier le comportement à l'exécution d'une application.
Catégorie |
Problème |
Description |
---|---|---|
Inférence de type |
Dans une instruction return dans lequel l'opérande est un littéral de tableau, le type tableau d'exécution est déterminé à partir de la signature de la fonction au lieu d'être déduit du littéral de tableau. |
Cette modification permet de retourner un littéral de tableau à des endroits avant que vous ne pouvez pas, comme le montre l'exemple suivant :
Cette modification peut entraîner un type au moment de l'exécution d'un littéral de tableau est plus large que ce qu'il était dans Visual Basic 2010, comme le montre l'exemple suivant :
|
Expressions lambda |
Dans une expression d' For Each , vous pouvez maintenant utiliser la variable de contrôle dans une expression lambda. |
L'utilisation d'une variable d'itération For Each dans une expression lambda n'entraîne plus un avertissement de compilation et n'a plus des résultats inattendus, comme indiqué dans l'exemple suivant :
|
Expressions LINQ |
Dans une expression d' For Each , vous pouvez maintenant utiliser la variable de contrôle dans une expression LINQ. |
L'utilisation d'une variable d'itération For Each dans une expression LINQ n'entraîne plus un avertissement de compilation et n'a plus des résultats inattendus, comme indiqué dans l'exemple suivant :
|
Résolution de surcharge |
Si deux surcharges avec la correspondance de paramètres de type générique un appelant ainsi mais une surcharge est plus spécifique, plus de surcharge spécifique est utilisée. |
Cette condition a causé une erreur de compilation de résolution de surcharge dans Visual Studio 2010.Dans l'exemple suivant, la ligne d' Process(theList) provoque une erreur de compilation dans Visual Studio 2010.Dans la version actuelle, la ligne correspond plus de surcharge spécifique de la méthode d' Process .
|
Voir aussi
Référence
For Each...Next, instruction (Visual Basic)
Concepts
Expressions lambda (Visual Basic)
Nouveautés de Visual Basic dans Visual Studio 2012