Compartir a través de


Error del compilador CS0842

Actualización: noviembre 2007

Mensaje de error

No se pueden usar propiedades implementadas automáticamente dentro de un tipo marcado con StructLayout(LayoutKind.Explicit).
Automatically implemented properties cannot be used inside a type marked with StructLayout(LayoutKind.Explicit).

El compilador proporciona los campos de respaldo a las propiedades autoimplementadas y el código fuente no puede tener acceso a este tipo de campo. Por consiguiente, no son compatibles con LayoutKind.Explicit.

Para corregir este error

  • Convierta la propiedad en una propiedad normal a la que puede proporcionar 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;
        }
    }
}