Ler em inglês

Compartilhar via


Erro do Compilador CS0842

As propriedades implementadas automaticamente não podem ser usadas dentro de um tipo marcado com StructLayout(LayoutKind.Explicit).

As propriedades implementadas automaticamente têm seus campos de suporte fornecidos pelo compilador e o campo não pode ser acessado pelo código-fonte. Portanto, elas não são compatíveis com LayoutKind.Explicit.

Para corrigir este erro

  1. Transforme a propriedade em uma propriedade regular em que você fornece os corpos do acessador.

Exemplo

O seguinte exemplo gera o erro CS0842:

C#
// 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;  
        }  
    }  
}