Error del compilador CS1917
Actualización: noviembre 2007
Mensaje de error
Los miembros del campo de solo lectura 'name' de tipo 'struct name' no se pueden asignar con un inicializador de objeto porque es de un tipo de valor.
Members of read-only field 'name' of type 'struct name' cannot be assigned with an object initializer because it is of a value type.
Los campos de solo lectura que son tipos de valor que sólo se pueden asignar en un constructor.
Para corregir este error
Cambie la estructura a un tipo de clase.
Inicialice la estructura con un constructor.
Ejemplo
El código siguiente genera el error CS1917:
// cs1917.cs
class CS1917
{
public struct TestStruct
{
public int i;
}
public class C
{
public readonly TestStruct str = new TestStruct();
public static int Main()
{
C c = new C { str = { i = 1 } }; // CS1917
return 0;
}
}
}