私は不変クラスの作成に取り組んでいます。
すべてのプロパティを読み取り専用としてマークしました。
クラスのアイテムのリストがあります。
ただし、プロパティが読み取り専用の場合は、リストを変更できます。
リストのIEnumerableを公開すると、不変になります。
クラスを不変にするために従う必要のある基本的なルールは何ですか?
2
不変性に関するEric Lippertのブログシリーズ、特に「不変性の種類」のエントリを読むことを強くお勧めします。「リストのIEnumerableを公開すると不変になる」というコメントは、私には少し奇妙に思えます。それはどういう意味ですか?
—
Jon Skeet
私が意味したのは、リストへのアクセスを許可するのではなく(オブジェクトに他のオブジェクトのリストがある場合)、ユーザーがIEnumerableでメンバーにアクセスできるようにすることでした。ここでは特定の例のようにトーキングリストを使用していますが、どのようなデータ構造でもかまいません。
—
Biswanath