Передать коллекцию методу через интерфейс - C#
Формулировка задачи:
Работаю с ObservableCollection. Разные коллекции содержат разные классы, но эти классы имеют общие свойства, с которыми работает определенный метод. Реализовал эти свойства через общий для этих классов интерфейс. Пытаюсь передать методу коллекции, но ничего не получается. Где я ошибаюсь?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections.ObjectModel; namespace Test { interface IInt { string str { get; set; } } class Class1 : IInt { public string str {get; set;} public Class1 () { str = "Hello from Class1"; } } class Class2 : IInt { public string str { get; set; } public Class2 () { str = "Hello from Class2"; } } class Program { static void Main() { ObservableCollection<Class1> OC1 = new ObservableCollection<Class1>(); ObservableCollection<Class2> OC2 = new ObservableCollection<Class2>(); OC1.Add(new Class1()); OC2.Add(new Class2()); /* Далее хочу пропихнуть обе созданные коллекции через метод Write. * Как это сделать? Write(OC1); Write(OC2);*/ Console.ReadLine(); } public static void Write (ObservableCollection<IInt> obj) { Console.WriteLine(obj.ElementAt(0).str); } } }
Решение задачи: «Передать коллекцию методу через интерфейс»
textual
Листинг программы
(OC1.ElementAt(0) as Class1).str1 = "error";
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д