Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сделать метод обобщенным / 5 сообщений из 5, страница 1 из 1
19.04.2018, 23:26
    #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
19.04.2018, 23:35
    #39633453
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать метод обобщенным
Описать GetChildren в интерфейсе IGetChildren
Сделать обобщенный метод с ограничением (where) по этому интерфейсу
...
Рейтинг: 0 / 0
20.04.2018, 00:19
    #39633458
Qwe.Qwe1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать метод обобщенным
Я наверно неточно выразился: список Child в каждом из классов - это список элементов этого же класса.
...
Рейтинг: 0 / 0
20.04.2018, 01:28
    #39633463
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать метод обобщенным
Qwe.Qwe1,

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


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