コンパイラ エラー CS0843

更新 : 2007 年 11 月

エラー メッセージ

自動的に実装されたプロパティ 'name' のバッキング フィールドは、コントロールが呼び出し元に返される前に完全に割り当てられている必要があります。コンストラクタ初期化子から既定のコンストラクタを呼び出すことを検討してください。

自動的に実装されたプロパティにコンストラクタから値を割り当てるには、まず既定のコンストラクタを呼び出して、オブジェクトを作成する必要があります。

このエラーを解決するには

  • 次の例に示すように、コンストラクタ初期化子で既定のコンストラクタの呼び出しを追加します。: 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;
    }
}