Обобщённый класс. Реализация метода - C#
Формулировка задачи:
Доброго времени суток! Случайно довелось залезть в эту область C#. Создаю класс вроде следующего:
Подобная конструкция выдаёт ошибку.
Суть в том, что данный класс может принимать свой же тип в качестве T. Грубо говоря, данный класс реализует специальную таблицу, ячейки которой могут быть те же специальные таблицы и так далее. Представленный метод должен "добираться" до самой нижней таблицы, тип которой не Sample, и выполнять определённые действия (здесь их заменяет комментарий). Вопрос: как правильно это реализовать?
Заранее благодарю!
public class Sample <T> { public T someVar; public void someMethod () { if (someVar is Sample) { someVar.someMethod(); } else { // some code } } }
Решение задачи: «Обобщённый класс. Реализация метода»
textual
Листинг программы
public interface ITableCell { string GetData(); } public class SpecialCell : ITableCell { ITableCell[,] table; public string GetData() { return "I'm SpecialCell"; } } public class SimpleCell : ITableCell { public string GetData() { return "I'm simple cell"; } } public class SpecialTable { ITableCell[,] table; public List<string> GetCellsData() { List<string> result= new List<string>(); foreach (ITableCell c in table) result.Add(c.GetData()); return result; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д