Error del compilador CS1918
Los miembros de la propiedad 'nombre' de tipo 'tipo' no se pueden asignar con un inicializador de objeto porque es de un tipo de valor.
Este error se produce al intentar usar un inicializador de objeto para inicializar las propiedades de un tipo de estructura que a su vez es una propiedad de la clase que se va a inicializar.
- Si debe inicializar completamente los campos de la propiedad en el inicializador de objeto, cambie la estructura a un tipo de clase. De lo contrario, inicialice los miembros de la estructura en una llamada a método independiente después de crear el objeto mediante el inicializador de objeto.
El ejemplo siguiente genera el error CS1918:
// cs1918.cs
public struct MyStruct
{
public int i;
}
public class Test
{
private MyStruct str = new MyStruct();
public MyStruct Str
{
get
{
return str;
}
}
public static int Main()
{
Test t = new Test { Str = { i = 1 } }; // CS1918
return 0;
}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: