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;
}
}
}