Преобразование типа при инкапсуляции коллекции - C#
Формулировка задачи:
Есть класс, внутри него коллекция-список
Для того, чтобы забиндить коллекцию в WPF необходимо использовать тип ObservableCollection. Я сделал наследуемый класс, но при этом получается дублирование информации
Как это правильно сделать?
class MyClass
public List<Pen> PenCollection {get; set;}class ObservableClass : MyClass
public ObservableCollection<Pen> observablePenCollection {get; set;}Решение задачи: «Преобразование типа при инкапсуляции коллекции»
textual
Листинг программы
class MyClass
{
protected IList<string> m_StringList = new List<string>();
public void AddString(string s)
{
m_StringList.Add(s);
}
}
internal class ObservableClass : MyClass
{
public ObservableCollection<string> StringList
{
get { return (ObservableCollection<string>) m_StringList; }
set { m_StringList = value; }
}
public ObservableClass()
{
m_StringList = new ObservableCollection<string>();
}
}
class Program
{
static void Main(string[] args)
{
MyClass myStr = new MyClass();
myStr.AddString("Hello");
ObservableClass testobject = new ObservableClass();
testobject = (ObservableClass) myStr; //Здесь ошибка
Console.WriteLine(testobject.StringList[0]);
}
}