Définition et déclaration en ligne
-
28-10-2019 - |
Question
Ok, mauvaise formulation im sure im le concept, mais ici il est de toute façon.
Je sais que vous pouvez faire CSharp
el.AppendChild(new UISize(file, "TSize") { CX = 95, CY = 20 });
qui déclare une variable seau temporaire et affecte ensuite les valeurs de propriété associés à la variable. Ce qui l'envoie ensuite à la méthode XMLElement
de AppendChild
.
- Quel est ce concept appelé?
- Quelle est la conversion en VB.Net?
J'ai essayé d'utiliser mon propre utilitaire en ligne qui fait un taux de conversion de 90-95% par rapport à C # <-> VB.Net. Il a échoué dans ce cas, et ont donc besoin d'une main sur ce que je cherche à faire pour convertir ce à partir de C # à VB.Net.
Je voudrais vraiment pas faire une longue déclaration d'une variable avec des affectations, si possible.
La solution
utilise initialiseurs d'objets en C #. La syntaxe pour faire la même chose est subtilement différent dans VB
var uiSize = new UISize(file, "TSize") { CY = 95, CY = 20 }; // C#
Dim uiSize = New UISize(file, "TSize") With {.CX = 95, .CY = 20} ' VB
Et, bien sûr, vous pouvez inline l'instanciation de l'objet à l'intérieur d'un appel de méthode aussi bien.
someObject.SomeMethod(New UISize(file, "TSize") With {.CX = 95, .CY = 20})
Pour en savoir plus sur l'utilisation initialiseurs d'objets dans Visual Basic, consulter cette documentation .