ディクショナリを含む C# のクラスがあります。このディクショナリを作成し、それを含むクラスが存在する限り、このディクショナリから追加、編集、または削除されないようにしたいと考えています。
readonly は、後でアイテムを追加できることをテストして確認したら、実際には役に立ちません。たとえば、次の例を作成しました。
public class DictContainer
{
private readonly Dictionary<int, int> myDictionary;
public DictContainer()
{
myDictionary = GetDictionary();
}
private Dictionary<int, int> GetDictionary()
{
Dictionary<int, int> myDictionary = new Dictionary<int, int>();
myDictionary.Add(1, 2);
myDictionary.Add(2, 4);
myDictionary.Add(3, 6);
return myDictionary;
}
public void Add(int key, int value)
{
myDictionary.Add(key, value);
}
}
Add メソッドが機能しないようにします。できればコンパイルすらしないようにしたいです。助言がありますか?
実際、多くの人に公開されるコードなので心配です。そのため、Add メソッドを非表示にしても、誰かがキーを追加したり、別のキーを削除したりするメソッドを「無邪気に」作成する可能性があります。私は人々に、決して辞書を変更してはならないことを知ってもらいたいと思っています。私がconst変数を持っているのと同じように。