Freigeben über


Compilerfehler CS0842

Automatisch implementierte Eigenschaften können nicht in einem Typ verwendet werden, der mit 'StructLayout(LayoutKind.Explicit)' markiert ist.

Die Unterstützungsfelder von automatisch implementierten Eigenschaften werden vom Compiler zur Verfügung gestellt und sind für Quellcode nicht zugänglich. Daher sind sie mit LayoutKind.Explicitnicht kompatibel.

So beheben Sie diesen Fehler

  1. Machen Sie die Eigenschaft zu einer gewöhnlichen Eigenschaft, für die Sie den Text der Zugriffsmethoden angeben.

Beispiel

Im folgenden Beispiel wird CS0842 generiert:

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