Tôi có tệp HTTPSystemDefinitions.cs trong dự án C#, về cơ bản mô tả các cửa sổ cũ ISAPI để sử dụng theo mã được quản lý.Ngăn chặn "không bao giờ được sử dụng" và "không bao giờ được gán cho" cảnh báo trong C#
Điều này bao gồm tập hợp đầy đủ các Cấu trúc liên quan đến ISAPI không phải tất cả hoặc được tiêu thụ theo mã. Trên biên soạn tất cả các thành viên hiện trường của các cấu trúc đang gây ra một cảnh báo như sau: -
Cảnh báo 'UnionSquare.ISAPI.HTTP_FILTER_PREPROC_HEADERS.SetHeader' Dòng không bao giờ được giao cho, và sẽ luôn luôn có giá trị null mặc định của nó
hoặc
Warning trường 'UnionSquare.ISAPI.HTTP_FILTER_PREPROC_HEADERS.HttpStatus' không bao giờ được sử dụng
Chúng có thể bị vô hiệu hóa với #pragma warning disable
không? Nếu có thì số lỗi tương ứng sẽ là gì? Nếu không có bất cứ điều gì khác tôi có thể làm gì? Ghi nhớ rằng tôi chỉ làm những điều này cho tập tin này, điều quan trọng là tôi nhận được những cảnh báo như thế này đến từ các tập tin khác.
Sửa
Ví dụ struct: -
struct HTTP_FILTER_PREPROC_HEADERS
{
//
// For SF_NOTIFY_PREPROC_HEADERS, retrieves the specified header value.
// Header names should include the trailing ':'. The special values
// 'method', 'url' and 'version' can be used to retrieve the individual
// portions of the request line
//
internal GetHeaderDelegate GetHeader;
internal SetHeaderDelegate SetHeader;
internal AddHeaderDelegate AddHeader;
UInt32 HttpStatus; // New in 4.0, status for SEND_RESPONSE
UInt32 dwReserved; // New in 4.0
}
Bạn có thể hiển thị khai báo các trường đó hay đúng hơn là cấu trúc của chúng? I E. cho một ví dụ. –
@Lasse: Đã thêm ví dụ. – AnthonyWJones
Nếu đây là các định nghĩa interop, thì thông thường bạn sẽ đặt '[StructLayout (LayoutKind.Sequential)]' để đảm bảo bố trí bộ nhớ là chính xác (trong triển khai hiện tại nó sẽ không có thuộc tính này, nhưng AFAIK nó không được bảo đảm). Nếu tôi nhớ chính xác, trình biên dịch C# phát hiện sự hiện diện của thuộc tính này và tự động loại bỏ các cảnh báo đó vì nó biết các trường phải ở đó cho interop. (Tôi có thể sai về điều này, do đó đăng tải dưới dạng bình luận thay vì trả lời). –