Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Есть ли способ получить список типов, реализующих конкретный интерфейс? / 6 сообщений из 6, страница 1 из 1
24.09.2013, 11:16
    #38405667
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли способ получить список типов, реализующих конкретный интерфейс?
Вопрос больше не про Дотнет, а про МСДН, наверное. Хотя, если программно - тоже неплохо.

Вот, в МСДН есть (и если определине типа или интерфейса в коде посмотреть) для каждого типа или интерфейса список унаследованных интерфейсов и типа. А как наоборот - выбрал интерфейс или тип и чтобы все унаследованные от него типы и интерфейсы показались?

Мне это нужно для того, чтобы выбрать нужный тип для конкретной функциональности. Последовательность мыслей такова:

1) придумываю функциональность, которая мне нужна;
2) смотрю, какие интерфейсы её реализуют;
3) смотрю, какие готовые типы есть для реализации этих интерфейсов;
4) если нет готовых типов или интерфейсов, то реализую сам.

Без этого часто возникает ситуация, что приходится изобретать велосипеды, потому что не знаешь наизусть фреймворк (я не Пушкин, чтобы весь Дотнет наизусть знать) и что там уже готового есть. А готового часто много чего есть, особенно для стандартных ситуаций.

Вообще, по Дотнету в частности и фреймворкам вообще должен быть такой поиск - выбрал задачи, а теме вывалились интерфейсы и типы под эти задачи. А ты уже между ними выбираешь, а не тупо лопатишь тонны литературы или зубришь там, опыт годами нарабатываешь. На двое 2013 (скоро уже 2014) год, блин!
...
Рейтинг: 0 / 0
24.09.2013, 12:03
    #38405760
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли способ получить список типов, реализующих конкретный интерфейс?
user7320,

Assembly.ReflectionOnlyLoad
Assembly.GetTypes
Type.IsAssignableFrom
...
Рейтинг: 0 / 0
24.09.2013, 12:24
    #38405818
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли способ получить список типов, реализующих конкретный интерфейс?
user7320Есть ли способ получить список типов, реализующих конкретный интерфейс?Можно установить Telerik JustDecompile (или Reflector, или JetBrains dotPeek) и там посмотреть derived types вместе с implementation.

P.S.: также почаще отдавайте свою реализацию в code review, быстрее узнаете, сколько велосипедов изобрели.
...
Рейтинг: 0 / 0
24.09.2013, 12:25
    #38405824
Torre
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли способ получить список типов, реализующих конкретный интерфейс?
user7320, это называется паттерн "Стратегия", пользуйтесь.
...
Рейтинг: 0 / 0
24.09.2013, 16:14
    #38406281
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли способ получить список типов, реализующих конкретный интерфейс?
Спасибо. Посмотрю.

Но я заметил, что всё это требует телодвижений. А так, в виде готового справочного материала, типа МСДН - тыкнул на ссылку и все унаследованные от этого интерфейса типы показались - нету?
...
Рейтинг: 0 / 0
24.09.2013, 23:09
    #38406640
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли способ получить список типов, реализующих конкретный интерфейс?
Во, кое-что нашёл. То, что я хочу, в МСДН называется Inheritance Hierarchy. Например, http://msdn.microsoft.com/en-us/library/ms132474.aspx . Но вот для интерфейсов этого нет. Например, http://msdn.microsoft.com/en-us/library/hh881542.aspx . А хотелось бы.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Есть ли способ получить список типов, реализующих конкретный интерфейс? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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