Я имею дело с классом, написанным третьей стороной, который реализует System.Collections.CollectionBase:
public class Palette : CollectionBase, ICloneable
Единственный недостаток, который у меня есть, заключается в том, что я могу получить доступ к его элементам только через целочисленный индекс: [0], [1], [2]. Мне нужно улучшить функциональность этого класса, чтобы я мог получить доступ к элементу через строку, чтобы я мог сделать что-то вроде этого:
["asian"] = Color.Yellow, ["black"] = Color.Black, ["White"] = Color.White
Так что я попытался обернуть это в моем собственном классе. Пока что у меня есть:
public class NamedPalette : Palette
{
private Dictionary<string, PaletteEntry> paletteEntries =
new Dictionary<string, PaletteEntry>();
public PaletteEntry this[string key]
{
get { return paletteEntries[key]; }
set { paletteEntries.Add(key, value); }
}
public NamedPalette()
{
}
}
public class PaletteEntry
{
private Color color;
private Color color2;
public PaletteEntry(Color color, Color color2)
{
this.color = color;
this.color2 = color2;
}
}
Я на правильном пути? Не уверен, что делать дальше.