Auf Englisch lesen

Freigeben über


Compilerfehler CS0842

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

Automatisch implementierte Eigenschaften verfügen über die vom Compiler bereitgestellten Sicherungsfelder, und auf das Feld kann nicht auf Quellcode zugegriffen werden. 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:

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