struct Foo<T1>
{
public T1 Item1 { get; private set; }
public Foo(T1 item1)
{
Item1 = item1;
}
}
私はこのエラーが発生した:コンストラクタが呼び出された後
Backing field for automatically implemented property 'Foo.Item1' must be fully assigned before control is returned to the caller. Consider calling the default constructor from a constructor initializer.
私の質問は、なぜプロパティItem1
は完全に割り当てられていませんか?
編集:set
からprivate set
に変更されました。この問題は変更可能性とは関係がないためです。
変更可能な構造体を作成しないでください。 –
なぜ彼はいけないのですか?実際には、実際には多くの場合単純なものになり、ループ集約的なケースではパフォーマンスがかなり向上する可能性があります。変更可能な構造体で何が問題になっていますか? (それは彼の質問にも答えません) – Mehrdad
@Lambert http://stackoverflow.com/questions/441309/why-are-mutable-structs-evil –