powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сделать метод обобщенным
5 сообщений из 5, страница 1 из 1
Сделать метод обобщенным
    #39633451
Qwe.Qwe1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как можно сделать метод обобщенным?
У меня есть несколько классов и в них всегда есть список Child. Вот так я делаю из иерархии плоский список, а можно как-то заменить MyClass на T?

Код: c#
1.
2.
3.
4.
private IEnumerable<MyClass> GetChildren(MyClassitem)
{
    return new[] { item }.Concat(item.Child.SelectMany(x => GetChildren(x)));
}
...
Рейтинг: 0 / 0
Сделать метод обобщенным
    #39633453
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описать GetChildren в интерфейсе IGetChildren
Сделать обобщенный метод с ограничением (where) по этому интерфейсу
...
Рейтинг: 0 / 0
Сделать метод обобщенным
    #39633458
Qwe.Qwe1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я наверно неточно выразился: список Child в каждом из классов - это список элементов этого же класса.
...
Рейтинг: 0 / 0
Сделать метод обобщенным
    #39633463
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qwe.Qwe1,

Код: c#
1.
2.
3.
4.
public interface IHasChildren<T>
{
    IEnumerable<T> GetChildren(T item);
}
...
Рейтинг: 0 / 0
Сделать метод обобщенным
    #39633556
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qwe.Qwe1Я наверно неточно выразился: список Child в каждом из классов - это список элементов этого же класса.Это почти заметно по коду, пробельчик тока вставить в объявление параметра
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сделать метод обобщенным
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]