Leer en inglés

Compartir a través de


Error del compilador CS0842

No se pueden usar propiedades implementadas automáticamente dentro de un tipo marcado con StructLayout(LayoutKind.Explicit).

Las propiedades implementadas automáticamente tienen sus campos de respaldo proporcionados por el compilador y el campo no es accesible para el código fuente. Por lo tanto, no son compatibles con LayoutKind.Explicit.

Para corregir este error

  1. Conviértala en una propiedad normal en la que se proporcionan los cuerpos de descriptor de acceso.

Ejemplo

El ejemplo siguiente genera el error CS0842:

// cs0842.cs  
using System;  
using System.Runtime.InteropServices;  
  
namespace TestNamespace  
{  
    [StructLayout(LayoutKind.Explicit)]  
    struct Str  
    {  
        public int Num // CS0842  
        {  
            get;  
            set;  
        }  
  
        static int Main()  
        {  
            return 1;  
        }  
    }  
}