閱讀英文

共用方式為


編譯器錯誤 CS0842

在標記著 StructLayout(LayoutKind.Explicit) 的類型內部不能使用自動實作的屬性。

自動實作的屬性具有編譯程式所提供的支援欄位,而且原始程式碼無法存取該欄位。 因此,這些屬性與 LayoutKind.Explicit不相容。

更正這個錯誤

  1. 將屬性設為可在其中提供存取子主體的一般屬性。

範例

下列範例會產生 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;  
        }  
    }  
}