2013-07-31 49 views
8

Bạn có thể thêm một chỉ thị tiền xử lý để gây ra một lỗi tại thời gian biên dịch trong C# như thế này:Tạo Lỗi với văn bản tùy chỉnh mà ngăn chặn biên soạn trong VB.NET (#error trong C#)

#error This will cause a divide by zero 

Làm thế nào tôi có thể làm giống như this trong vb.net?

hoặc

Có cách nào khác để tạo lỗi cung cấp thông tin hữu ích tùy chỉnh trong Danh sách lỗi.

TLDR:tôi muốn làm một cái gì đó như thế này trong VB.NET:

photo taken from C# project

+3

Thay vì chỉ downvotes.Nhận xét về những gì tôi cần làm rõ sẽ tốt đẹp ... – jth41

+1

Không thấy bất kỳ chỉ thị nào thực hiện việc này. Đây là trang MSDN cho chỉ thị vb.net: http://msdn.microsoft.com/en-us/library/7ah135z7.aspx –

+0

[Câu trả lời này] (http://stackoverflow.com/questions/5582331/is-ever -legal-in-c-sharp-hoặc-vb-net # 5582704) có vẻ khá chắc chắn không có bất kỳ tương đương nào. –

Trả lời

9

Đây là một cách để bạn có thể đạt được những gì bạn muốn. Nó không hoàn hảo. Nhưng nó không đáp ứng tiêu chí của bạn về:

  • Ngăn chặn biên soạn
  • Đặt văn bản Custom trong Danh sách Lỗi Window

Trước tiên, bạn cần phải khai báo một biến với các văn bản tùy chỉnh mà bạn muốn hiển thị với dấu gạch dưới trong giữa mỗi từ. (Có các dấu gạch chân là khó chịu nhưng họ là cần thiết)

Dim This_is_as_useful_a_description_as_your_gonna_get như String

Điều này tạo ra một biến không sử dụng. mà kết hợp với khả năng của IDE để điều trị cảnh báo là lỗi sẽ cung cấp cho bạn một cái gì đó gần với những gì bạn đang tìm kiếm:

enter image description here

Bạn có thể bật cảnh báo điều trị như các lỗi bằng cách vào tính chất dự án của bạn và biên dịch chuyển hướng. như vậy:

enter image description here

1

Không có tương đương với

#error 

trong VB.Net

Tôi có không tìm thấy cách nào để thêm lỗi có ý nghĩa để ngăn biên dịch.

1

Bạn cũng có thể khai báo một var với chắc chắn lỗi biên dịch như:

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

như vậy tránh được tất cả các dấu gạch dưới. Điều đó sẽ tự động dẫn đến lỗi biên dịch ("Từ khóa không hợp lệ như một từ định danh"), không phải là cảnh báo.

Ví dụ:

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

Điều này gây ra lỗi trình biên dịch, nhưng OP muốn văn bản lỗi xuất hiện trong cửa sổ Danh sách Lỗi trong Visual Studio (không chỉ đơn giản là tạo ra lỗi trình biên dịch, có thể được thực hiện trong một số cách). –