Tengo un archivo HTTPSystemDefinitions.cs en el proyecto C# que básicamente describe el ISAPI de Windows anterior para el consumo del código administrado.Suprimir "nunca se usa" y "nunca se asigna a" advertencias en C#
Esto incluye el conjunto completo de Estructuras relevantes para el ISAPI no todas o que son consumidas por el código. En la compilación de todos los miembros de campo de estas estructuras están causando una advertencia como la siguiente: -
Warning 'UnionSquare.ISAPI.HTTP_FILTER_PREPROC_HEADERS.SetHeader' El campo no está asignado a, y siempre tendrá su nulo valor predeterminado
o
Advertencia El campo 'UnionSquare.ISAPI.HTTP_FILTER_PREPROC_HEADERS.HttpStatus' nunca se utiliza
¿Se pueden deshabilitar con #pragma warning disable
? Si es así, ¿cuáles serían los números de error correspondientes? Si no, ¿hay algo más que pueda hacer? Tenga en cuenta que solo tengo que hacer esto para este archivo, es importante que vea advertencias como estas provenientes de otros archivos.
Editar
Ejemplo 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
}
¿Puede mostrar la declaración de esos campos, o más bien, la estructura en la que se encuentran? es decir. dar un ejemplo. –
@Lasse: Ejemplo agregado. – AnthonyWJones
Si se trata de definiciones de interoperabilidad, normalmente pondría '[StructLayout (LayoutKind.Sequential)]' para asegurarse de que el diseño de la memoria sea correcto (en la implementación actual estará incluso sin este atributo, pero AFAIK no está garantizado)) Si recuerdo correctamente, el compilador de C# detecta la presencia de este atributo y automáticamente suprime esas advertencias, ya que sabe que los campos deben estar ahí para la interoperabilidad. (Podría estar equivocado al respecto, por lo tanto publicar como un comentario en lugar de una respuesta). –