Compartilhar via


CS0842 de erro do compilador

Mensagem de erro

Não é possível usar as propriedades implementadas automaticamente dentro de um tipo marcado com StructLayout (LayoutKind.Explicit).

Propriedades implementadas automaticamente têm seus campos fazendo fornecidos pelo compilador e o campo não está acessível para o código-fonte.Portanto, não são compatível com LayoutKind.Explicit.

Para corrigir este erro

  • Verifique a propriedade uma propriedade comum em que você fornecer os corpos de acessador.

Exemplo

O exemplo a seguir gera 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;
        }
    }
}