Deshabilitar/suprimir la advertencia CS0649 en C#para un campo de clase específico
suppress-warnings (4)
Tengo algunos campos en una clase C # que inicializo usando reflexión. El compilador muestra una advertencia CS0649 para ellos:
Field
foo'' is never assigned to, and will always have its default value
null'' (CS0649) (Assembly-CSharp)
Me gustaría desactivar la advertencia solo para estos campos específicos y todavía dejar que la advertencia se muestre para otras clases y otros campos de esta clase. Es posible desactivar CS0649 para todo el proyecto, ¿hay algo más detallado?
Creo que vale la pena señalar que la advertencia también se puede suprimir usando un inicializador de campo. Esto desordena su código mucho menos.
public class MyClass
{
// field declarations for which to disable warning
private object foo = null;
// rest of class
}
Puede usar la #pragma warning
para deshabilitar y luego volver a habilitar advertencias particulares:
public class MyClass
{
#pragma warning disable 0649
// field declarations for which to disable warning
private object foo;
#pragma warning restore 0649
// rest of class
}
Consulte Suprimir "nunca se usa" y "nunca se asigna a" advertencias en C # para una respuesta expandida.
//disable warning here
#pragma warning disable 0649
//foo field declaration
//restore warning to previous state after
#pragma warning restore 0649
public class YouClass
{
#pragma warning disable 649
string foo;
#pragma warning restore 649
}