Wie mache ich öffentliche Getter und Setter und private Methoden für eine Sammlung?

Ich möchte eine Klasse "A" mit einer (zum Beispiel) SortedList-Auflistungseigenschaft "SrtdLst" haben und in dieser Klasse "A" das Hinzufügen oder Subtrahieren von "SrtdLst" -Elementen zulassen. In einer Instanz der Klasse "A" ist es jedoch nur zulässig, den Inhalt der Elemente abzurufen oder festzulegen, keine neuen Elemente hinzuzufügen oder die vorhandenen zu subtrahieren. In Code:

class A
{
    public SortedList<string, string> SrtdLst = new SortedList<string, string>();

    public A()
    {
        // This must work:
        SrtdLst.Add("KeyA", "ValueA");
        // This too:
        SrtdLst["KeyA"] = "ValueAAA";
    }
}

class B
{
    public A a = new A();
    public B()
    {
        // I want the following code to fail:
        a.SrtdLst.Add("KeyB", "ValueB");
        // But this must work:
        a.SrtdLst["KeyA"] = "ValueBBB";
   }
}

UPDATE: Ich möchte eine Klasse wie System.Data.SqlClient.SqlCommand erstellen. Für die gespeicherten Prozeduren können Sie den Member "DeriveParameters" verwenden, der eine Auflistung von "Parameters" füllt, sodass nur der Wert jedes Elements geändert werden kann.

Wie geht das?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage