Ler em inglês

Partilhar 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 é acessível ao código-fonte. Por conseguinte, não são compatíveis com LayoutKind.Explicito .

Para corrigir este erro

  1. Faça da propriedade uma propriedade regular na qual você fornece os corpos acessadores.

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