Domanda

Nei miei attuali variabili e metodi nomi di progetto tutti dopo quello che sono e quello che fanno. Questo è un bene per capire rapidamente il codice, ma con un sacco di nomi lunghi varible arriva qualche mal di testa, come quando la copia di un set di dati a un'entità / oggetto. Così, mentre si capisce il codice, la leggibilità vuole ancora un colpo.

veryLongVariableName.Id = datasetVeryLongVariableName.Id
veryLongVariablename.Something = datasetVeryLongVariableName.Something
etc.

Utilizzo di VB.NET con CAN aiuto di parole chiave.

With veryLongVariableName

    .Id = datasetVeryLongVariableName.Id
    .Something = datasetVeryLongVariableName.Something

End With

Ora, la mia domanda, non v'è alcun modo di usare Con, o qualcosa di simile, ma per diverse variabili, allo stesso tempo? Qualcosa di simile:

With veryLongVariableName As a, datasetVeryLongVariableName as b

    a.Id = b.Id
    a.Something = b.Something

End With

Sono tutti per le convenzioni di denominazione descrittive, ma essi tendono a cose disordine. Soprattutto in VB!

È stato utile?

Soluzione

Se il codice che fa queste serie di funzioni fa parte di una singola azione logica allora si potrebbe refactoring fuori in essa la propria chiamata al metodo / funzione. Anche se questo non specificamente rispondere alla tua domanda su un multiplo con l'utilizzo, sarebbe migliorare leggibilità in linee con suggerimenti trovano nei libri popolari come codice completo.

Altri suggerimenti

No, questo non è possibile.

With funziona con un solo oggetto. Vedere MSDN .

E 'possibile però, dichiarazioni nido With (anche se questo non è raccomandato come si potrebbe finire per rendere il vostro codice veramente illeggibile).

Dietro le quinte, tutta la parola chiave With fa è dichiarare una variabile temporanea che fa riferimento l'oggetto che si specificano. I suoi riferimenti saranno compilate esattamente lo stesso codice IL pienamente-qualificazione il nome dell'oggetto, quindi non c'è nessuna penalità prestazioni. Si può facilmente farlo da soli:

Dim a as MyClass = veryLongVariableName
Dim b as MyOtherClass = datasetVeryLongVariableName

a.Id = b.Id
a.Something = b.Something
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top