C # Como tornar públicos getters e setters e métodos privados para uma coleção?
Eu gostaria de ter uma classe "A" com um (por exemplo) SortedList coleção "SrtdLst" propriedade e dentro desta classe "A" permitir a adição ou subtração de itens "SrtdLst". Mas em uma instância da classe "A", só permite obter ou definir o conteúdo dos itens, não adicionar novos itens ou subtrair os existentes. Em código:
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: Eu quero criar uma classe como System.Data.SqlClient.SqlCommand. Para os Procedimentos armazenados, você pode usar o membro "DeriveParameters" que preenche uma coleção de "Parâmetros", portanto, somente o valor de cada item pode ser modificado.
Como isso pode ser feito?