Definizione e dichiarazione in linea
-
28-10-2019 - |
Domanda
Ok, sono sicuro che sto confondendo in modo errato il concetto, ma eccolo comunque.
So che in csharp puoi fare
el.AppendChild(new UISize(file, "TSize") { CX = 95, CY = 20 });
che dichiara una variabile di secchio temporanea e quindi assegna i valori della proprietà associata alla variabile. Che poi lo invia al XMLElement
AppendChild
metodo.
- Come si chiama questo concetto di design?
- Qual è la conversione in vb.net?
Ho provato a utilizzare la mia utilità online che esegue un tasso di conversione del 90-95% da C# <-> VB.NET. È fallito in questo caso, e quindi ho bisogno di una mano su ciò che sto cercando di convertirlo da C# a VB.NET.
Vorrei davvero non dover fare una lunga declassamento di una variabile con incarichi, se possibile.
Soluzione
Questo sta usando Inizializzatori di oggetti in c#. La sintassi per fare lo stesso è sottilmente diversa in VB
var uiSize = new UISize(file, "TSize") { CY = 95, CY = 20 }; // C#
Dim uiSize = New UISize(file, "TSize") With {.CX = 95, .CY = 20} ' VB
E, naturalmente, è possibile in linea anche l'istanziazione dell'oggetto all'interno di una chiamata del metodo.
someObject.SomeMethod(New UISize(file, "TSize") With {.CX = 95, .CY = 20})
Per ulteriori informazioni sull'uso degli inizializzatori di oggetti in Visual Basic, consultare questa documentazione.