Я хотел бы иметь класс "A" с (например) свойством SortedList "SrtdLst", а внутри этого класса "A" допускают сложение или вычитание элементов "SrtdLst". Но в экземпляре класса "А" разрешено только получать или устанавливать содержимое элементов, а не добавлять новые элементы или вычитать существующие. В коде:
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: Я хочу создать класс, такой как System.Data.SqlClient.SqlCommand. Для хранимых процедур вы можете использовать член "DeriveParameters", который заполняет коллекцию "Параметры", поэтому можно изменять только значение каждого элемента.
Как это можно сделать?