c# suppress-warnings

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 }