2012-03-02 26 views
9

Eskiden C# geliştiricisiydim, bu yüzden bu yorumlama stili C# 'da çok kolaydı. Bu beni deli ediyor ama bir sözdizimi hatası ?: almadan VB.NET bunu nasılVB.NET'te her bir satıra nasıl yorum yazarım?

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

artık mümkün. :-(Yani, örneğinizde, * yorumun * tam ifadesini koymanızı şiddetle tavsiye ederim. Hattın sonunda yorum yapmak onları biraz okunamaz hale getiriyor. Yorumlar tarafından kesintiye uğradı –

cevap

11

Maalesef yapamazsınız. VB.Net, yorumların birden fazla satırı kapsayan açıklamanın ortasında görünmesine izin vermez (hem açık hem de örtük satır devamları dahil). Yorumlar, ifadenin üzerine veya son satırına gitmelidir.

Bu kuralın istisnası lambdas ifadesidir. Bu teknik bir deyim olsa bile, yorumların bir lambda ifadesinde görünmesi iyidir.

+0

'u açıkladığınız için teşekkür ederim. :-(İçeriden bilgi sahibi olan bir kişi olarak size soru: Bu değişime uyum sağlamak için ayrıştırıcıyı yeniden yazması gerçekten zor mu? –

+0

@KonradRudolph dürüst bir şekilde maliyet IDE kodudur. Bunun güzel lister üzerindeki etkisini düşünün. ve biçimlendirme ve daha sonra IDE kod tabanı çağında faktör.Bu maliyet.Bu gerçek ayrıştırıcı yorum yok saymak için küçük patates olduğunu değiştirir.A – JaredPar

+0

Tamam, daha sonra IDE ayrıştırıcı. Ben hala görmüyorum. ID kod tabanı çağında ”- touché. Ama bu Roslyn ile sıfırdan yeniden yazılmıştır (ya da oluyor mu?)? –

3

hat devamında gelen yorumunu çıkarın ve ince olmalıdır. Yorumlar hat devamı ile kullanılamaz. Çizginin devamı satırdaki son karakter olmalıdır, böylece yorumunuz bundan sonra görünemez. Böyle Yani Why must VB.Net line continuation character be the last one on line

:

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 

Bu uzun süre VB geliştiriciler rahatsız eden bir sınırlamadır

İşte benzer bir sorudur.

+0

Bu işe yaramadı.Ama yine de hata geliyor – Denis

+0

Hattın ortasında yorum yapamazsınız.Ama devamı devam ediyor (eğer ima edilmiş karakteri kaldırırsanız) – jzworkman

+0

Evet, ya da bloğun bloğunun arkasından gelen yorum Evet, bu olmasını istediğim şey değil :-) Ama bu özellik daha önce talep edilmiş olsa bile – Denis

0

Görünüşe bu yıl çılgın VB programcıları sürüş olmuştur, Bilgin 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 
İlgili konular