編譯器錯誤 CS0843
更新:2007 年 11 月
錯誤訊息
程式控制權回到呼叫端前,必須完整指派自動實作的屬性 'name' 的支援欄位。請考慮從建構函式初始設定式中呼叫預設建構函式。
若要從建構函式 (Constructor) 將值指派給自動實作的屬性,您必須先叫用 (Invoke) 預設的建構函式以建立物件。
若要修正這個錯誤
- 在建構函式初始設定式中加入預設建構函式的呼叫,如下列範例所示。請注意 : this() 的用法。如需詳細資訊,請參閱 this (C# 參考)。
範例
下列程式碼會產生 CS0843:
// cs0843.cs
struct S
{
public int AIProp { get; set; }
public S(int i){} //CS0843
// Try the following lines instead.
// public S(int i) : this()
// {
// AIProp = i;
// }
}
class Test
{
static int Main()
{
return 1;
}
}