2013-07-31 17 views
8

Możesz dodać dyrektywę preprocesora spowodować wystąpienie błędu w czasie kompilacji w C# tak:Tworzenie Błąd własnego tekstu, który zapobiega opracowującym w VB.NET (#error w C#)

#error This will cause a divide by zero 

Jak mogę to zrobić to samo co this w vb.net?

lub

Czy istnieje inny sposób, aby utworzyć niestandardowy błąd, który zapewnia informacje pomocne w Errorlist.

TLDR:chcę zrobić coś takiego w VB.NET:

photo taken from C# project

+3

Zamiast tylko downvotes.Komentarze tego, co muszę wyjaśnić, będą miłe ... – jth41

+1

Nie widzę żadnej dyrektywy, która to robi. Oto strona MSDN dla dyrektyw vb.net: http://msdn.microsoft.com/en-us/library/7ah135z7.aspx –

+0

[Ta odpowiedź] (http://stackoverflow.com/questions/5582331/is-ever -legal-in-c-sharp-or-vb-net # 5582704) wydaje się dość pewne, że nie ma żadnego odpowiednika. –

Odpowiedz

9

Oto jeden ze sposobów osiągnięcia tego, co chcesz. To nie jest doskonałe. Ale ma spełnić kryteria:

  • Zapobiega kompilacji
  • Umieszcza tekst niestandardowy w oknie listy błędów

Najpierw należy zadeklarować zmienną z tekstu niestandardowego, który chcesz wyświetlić podkreślenia w między każdym słowem. (Tak podkreślenia są irytujące, ale są one konieczne)

Dim This_is_as_useful_a_description_as_your_gonna_get jako String

Stwarza nieużywaną zmienną. co w połączeniu z możliwością IDE do leczenia ostrzeżenia jako błędy daje coś podobnego do tego, co szukasz:

enter image description here

Można włączyć traktują ostrzeżeń jak błędów, przechodząc do właściwości projektu i kompilacji patka. tak:

enter image description here

1

Nie ma odpowiednik

#error 

w Vb.NET

Mam nie można znaleźć znaczącego błędu, aby zapobiec kompilacji.

1

Można również zadeklarować var ​​z pewien błąd kompilatora, takich jak:

Dim error As String = "This is as useful a description as your gonna get"

unikając w ten sposób wszystkie podkreślenia. To automatycznie spowoduje błąd kompilacji ("Słowo kluczowe nie jest ważne jako identyfikator"), a nie ostrzeżenie.

przykład:

#if _A_DEPRECATED_DEFINE_ 
DIM error As String = "remove the define: is deprecated!" 
#end if 
+1

To powoduje błąd kompilatora, ale OP chciał, aby tekst błędu pojawił się w oknie listy błędów w Visual Studio (nie po prostu wygenerować błąd kompilatora, który mógłby być wykonany w wielu sposoby). –