Преобразование типа при инкапсуляции коллекции - C#

Узнай цену своей работы

Формулировка задачи:

Есть класс, внутри него коллекция-список
class MyClass
public List<Pen> PenCollection {get; set;}
Для того, чтобы забиндить коллекцию в WPF необходимо использовать тип ObservableCollection. Я сделал наследуемый класс, но при этом получается дублирование информации
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]);
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы