2009-09-04 34 views

Trả lời

41

Yes.

Đối với việc vô hiệu hóa, sử dụng:

#pragma warning disable 0169, 0414, anyothernumber 

Trường hợp số là định danh của những lời cảnh báo mà bạn có thể đọc từ đầu ra trình biên dịch.

Để kích hoạt lại những lời cảnh báo sau một phần riêng biệt của mã (mà là một ý tưởng tốt) sử dụng:

#pragma warning restore 0169, anythingelse 

Bằng cách này bạn có thể làm cho đầu ra trình biên dịch làm sạch và giữ cho mình an toàn vì những lời cảnh báo sẽ chỉ bị đàn áp đối với phần mã cụ thể đó (nơi bạn đã chắc chắn bạn không cần xem chúng).

+0

Tôi không chắc liệu các số liệu có được diễn giải chính xác ở đây hay không. Số không đứng đầu được phân tích thành 'bát phân' nói chung. Vì vậy, nó có thể được an toàn để bỏ qua nó. (không cố gắng) – fmuecke

+1

@fmuecke Dường như làm việc theo cách nào đó (trong trình biên dịch đơn âm ít nhất.) Những gì bạn nói là đúng cho các chữ trong trình phân tích cú pháp C#, nhưng tôi đoán bộ tiền xử lý phân tích các số thứ tự khác nhau. – Eliot

+0

@ TamásSzelei Điều này chỉ hoạt động cho SonarLint tại địa phương. Tôi vẫn thấy những lỗi này được báo cáo trong kết quả máy chủ SonarQube. – ConfusedDeer

5

Có. Xem trang MSDN về cách ngăn chặn cảnh báo trình biên dịch.

Từ Visual Studio, chuyển đến thuộc tính dự án của bạn, chọn tab xây dựng và nhập số cảnh báo vào trường Cảnh báo ngăn chặn.

Từ mã, để vô hiệu hóa các cảnh báo cụ thể, bạn có thể sử dụng chỉ thị # pragma:

public class MyClass 
{ 
    #pragma warning disable 0168 
    // code 

    // optionally, restore warnings again 
    #pragma warning restore 0168 
    // more code 
} 
14

Có có được bạn có thể sử dụng chú thích cảnh báo pragma như thế này:

#pragma warning disable 414 
//some code that generates a warning 
#pragma warning restore 414 

bỏ qua những con số vô hiệu hóa và khôi phục tất cả các mã cảnh báo ...

0

Tôi đoán bạn cũng có thể thử để xem xét dự án hoặc các thuộc tính của giải pháp và đặt mức cảnh báo của bạn ở mức thấp hơn. Nếu không, các phản ứng khác có lẽ tốt hơn.

2

tôi khuyên bạn nên sử dụng các hình thức sau đây

#pragma warning disable 649 // Field 'field' is never assigned to, and will always have its default value 'value' 

#pragma warning restore 649 

Các bình luận trên dòng đầu tiên được lấy từ đầu như các tài liệu MSDN cho Compiler Warning (level 4) CS0649 . Vì các cảnh báo được đánh số trong C#, đây là tham chiếu duy nhất của bạn về những gì thực sự xảy ra trong mã khi bạn thấy cảnh báo bị vô hiệu hóa. Đặt nó ở cuối của dòng là cách duy nhất để có được lý do để hiển thị trong cửa sổ kết quả tìm kiếm khi bạn thực hiện tìm kiếm trong toàn bộ giải pháp của bạn cho cảnh báo pragma.

Bạn có thể xác định số cảnh báo bằng cách xem trong cửa sổ Đầu ra sau khi tạo dự án của bạn.Hãy chắc chắn rằng nó nói Hiển thị kết quả từ: Build.

Các vấn đề liên quan