Error del compilador CS0171

Actualización: noviembre 2007

Mensaje de error

El campo de respaldo para la propiedad 'nombre' implementada automáticamente se debe asignar completamente antes de devolver el control al llamador. Llame al constructor predeterminado desde un inicializador de constructor.
Backing field for automatically implemented property 'name' must be fully assigned before control is returned to the caller. Consider calling the default constructor from a constructor initializer.

El constructor de una struct debe inicializar todos los campos de la estructura. Para obtener más información, vea Constructores (Guía de programación de C#).

El código siguiente genera el error CS0171:

// CS0171.cs
struct MyStruct
{
   MyStruct(int initField)   // CS0171
   {
      // i = initField;      // uncomment this line to resolve this error
   }
   public int i;
}

class MyClass
{
   public static void Main()
   {
      MyStruct aStruct = new MyStruct();
   }
}