2012-03-02 15 views
9

Solía ​​ser un desarrollador de C# por lo que este estilo de comentarios fue muy fácil en C#. Esto me está volviendo loco, pero ¿cómo se hace esto en VB.NET sin conseguir un error de sintaxis ?:¿Cómo pongo comentarios en cada línea en VB.NET?

Private ReadOnly Property AcceptableDataFormat(ByVal e As System.Windows.Forms.DragEventArgs) As Boolean 
    Get 
     Return e.Data.GetDataPresent(DataFormats.FileDrop) _   'this is a file that a user might manipulate 
       OrElse e.Data.GetDataPresent("FileGroupDescriptor") 'this is a typical Outlook attachment 
    End Get 
End Property 
+4

Para su información, esta ha sido la conducción programadores de VB loco por año. :-(Dicho esto, en su ejemplo recomiendo encarecidamente poner el comentario * antes de * la declaración completa. Tener comentarios al final de la línea los hace un poco ilegibles. Pero el problema, por supuesto, persiste, ya que las líneas continuas actualmente no pueden ser interrumpido por comentarios –

Respuesta

11

Lamentablemente no se puede. VB.Net no permite que los comentarios aparezcan en medio de instrucciones que abarcan varias líneas (incluidas las continuas de línea tanto explícitas como implícitas). Los comentarios deben ir por encima de la declaración o en su línea final.

La excepción a esta regla es la declaración lambdas. Está bien que los comentarios aparezcan en una declaración lambda aunque técnicamente es una afirmación.

+0

Aunque esta función se ha solicitado hace años. :-(Pregunta a usted como alguien con un poco de información privilegiada: ¿Realmente es tan difícil reescribir el analizador para acomodar este cambio? –

+0

@KonradRudolph Honestamente, el costo es el código IDE. Piense en el impacto que esto podría tener en el bonito lister y formato y luego factor en la edad de la base de código IDE. Ese es el costo. Cambiar el analizador real para ignorar los comentarios es pequeño. – JaredPar

+0

OK, el analizador en el IDE entonces. Todavía no lo veo. "factor en la era de la base del código de identificación "- touché. ¿Pero no ha sido (o está siendo) reescrito desde cero con Roslyn? –

3

Eliminar el comentario de la línea de continuidad y que debería estar bien. Los comentarios no se pueden usar con la continuación de línea. La continuación de la línea tiene que ser el último personaje de la línea para que tu comentario no pueda aparecer después.

Aquí es una pregunta similar: Why must VB.Net line continuation character be the last one on line

Así como esto:

Private ReadOnly Property AcceptableDataFormat(ByVal e As System.Windows.Forms.DragEventArgs) As Boolean 
     Get 
      'Return a file that a user has dragged from the file system 
      'or a typical Outlook attachment 
      Return e.Data.GetDataPresent(DataFormats.FileDrop) OrElse 
        e.Data.GetDataPresent("FileGroupDescriptor")   

     End Get 
    End Property 

Ésta es una limitación que ha estado molestando a los desarrolladores VB durante mucho tiempo.

+0

Esto no funciona. Sigue recibiendo un error. – Denis

+0

No puede tener el comentario en el medio de la línea. La continuación de línea todavía está allí (si quita el carácter está implícito) por lo que necesita moverse el comentario antes o después del bloque de código. – jzworkman

+0

Sí, eso no es lo que quiero que suceda :-) Pero gracias por aclarar – Denis

0

Al parecer esto es ahora posible en Visual Studio 2017

Public Function foobarbaz(ByVal foo As Integer, '' qux 
          ByVal bar As String, '' quux 
          ByVal baz As DateTime) '' garply 

    Return foo.ToString &   '' Concatenate foo 
     bar &     '' with bar 
     baz.ToString   '' and baz 

End Function 
Cuestiones relacionadas