編譯器錯誤 CS0840
更新:2007 年 11 月
錯誤訊息
'Property name' 不是標記成 abstract 或 extern,因此必須宣告主體。自動實作屬性必須同時定義 get 與 set 存取子。
除非規則屬性標記成 abstract 或 extern,或是 partial 型別的成員,否則必須提供主體。自動實作屬性未提供存取子 (Accessor) 主體,但是它們必須指定兩個存取子。若要建立唯讀自動實作屬性,請將 set 存取子製作為 private。
若要更正這個錯誤
- 提供遺漏的主體或存取子,或在其和 (或) 其封入型別 (Enclosing Type) 上使用 abstract、extern 或 partial (型別) (C# 參考) 修飾詞 (Modifier)。
範例
下列範例會產生 CS0840:
// cs0840.cs
// Compile with /target:library
using System;
class Test
{
public int myProp { get; } // CS0840
// to create a read-only property
// try the following line instead
public int myProp2 { get; private set; }
}