2009-06-02 33 views
18

Cú pháp để cảnh báo vô hiệu hóa như sau:Danh sách #pragma cảnh báo mã vô hiệu hóa và ý nghĩa của chúng

#pragma warning disable 414, 3021 

Hoặc, bày tỏ sự tổng quát hơn:

#pragma warning disable [CSV list of numeric codes] 

Có một danh sách các số mã và mô tả cảnh báo mà họ đang chặn? Nhiều điều khiến tôi thất vọng, tôi dường như không thể định vị nó thông qua Google.

+1

không #pragma cảnh báo tắt 414, 3021 - điều này là sai! -1 cho tôi đã dành vài phút tự hỏi tại sao tôi không thể tắt cảnh báo theo cách bạn đã cung cấp. Cách chính xác là cảnh báo #pragma (cảnh báo-specifier: warning-number-list [; warning-specifier: warning-number-list ...]). Không phải CSV và bạn CÓ CÓ dấu ngoặc đơn. –

+1

@Thereisnothingwecando theo [MSDN] (https://msdn.microsoft.com/en-us/library/441722ys.aspx) đây là định dạng đúng, không có dấu ngoặc đơn - từ bộ nhớ, tôi gần như tích cực là tôi ' đã sử dụng '#pragma warning disable' và' #pragma warning restore' theo cách này. – BrainSlugs83

+1

Trong trường hợp bất kỳ ai khác đọc điều này, BrainSlug83 là chính xác. Dấu phẩy là * không * cần trong C#. Tôi tin rằng cú pháp "không có gì chúng ta có thể làm" đề cập đến, yêu cầu dấu ngoặc đơn, là cú pháp C++. –

Trả lời

16

Bạn không cần danh sách. Trình biên dịch sẽ cho bạn biết. Nếu bạn gặp lỗi trình biên dịch nói "cảnh báo CS0168", sau đó thêm 168 vào danh sách (hoặc, tốt hơn, hãy sửa mã).

+34

Điểm quan trọng ở đây là xem tab Đầu ra ("Xây dựng "đặc biệt"), không phải là danh sách lỗi hoặc chỉ sử dụng msbuild/csc.Nhưng +1, đó là những gì tôi làm ;-p –

+14

Bạn có thể cần một danh sách.Điều này không giúp nếu bạn đang tìm kiếm mã người khác với một uncommented Bạn có thể loại bỏ các pragma và xem nhưng không luôn luôn có nghĩa là bạn sẽ nhận được kết quả tương tự – Celess

+1

@marcGravell thanx tôi tìm kiếm rất nhiều trong danh sách lỗi cho một thiết lập để hiển thị mã ... – Offler

34

MSDN has a list mã cảnh báo. Thật không may, bạn phải nhấp vào từng liên kết để xem mã thực sự có ý nghĩa gì.

3

FYI -

Nếu bạn đang sử dụng Visual Studio 2008, bạn có thể lấy mã trực tiếp từ danh sách Lỗi bằng cách nhấn phải lỗi này, và chọn Hiện Lỗi Trợ giúp từ menu ngữ cảnh. Cửa sổ Trợ giúp sẽ bật lên và hiển thị cho bạn mọi thứ bạn muốn biết về lỗi a la trang web MSDN.

Có thể giúp bạn tiết kiệm một chút thời gian.

+2

Bạn cũng có thể lấy mã lỗi bằng cách nhìn vào tab Đầu ra, loại bỏ sự cần thiết phải mở Trợ giúp mà đôi khi có thể mất một lúc. –

+0

Sự thật, nếu bạn đang tìm hiểu thông qua văn bản đầu ra tìm kiếm mã lỗi. Mỗi của riêng mình, tôi đoán. ;) – Syndog

+0

funnily với điều này tôi chủ yếu là kết thúc tại các trang như "Chúng tôi xin lỗi. Trang bạn yêu cầu không thể được tìm thấy." (http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=DE-DE&k=k (MSBuild.ResolveComReference.ResolutionWarning); k (TargetFrameworkMoniker-.NETFramework, Phiên bản% 3Dv4.5); k (DevLang-csharp) & rd = true) hoặc http://msdn.microsoft.com/library/vstudio/dd393602(v=vs.110).aspx).aspx (vì vậy ... 4 người thấy hữu ích khi chỉ xem trang lỗi chung) Liên kết là một trong những chức năng tôi đã học để không sử dụng. – Offler

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