|
Есть ли способ получить список типов, реализующих конкретный интерфейс?
|
|||
---|---|---|---|
#18+
Вопрос больше не про Дотнет, а про МСДН, наверное. Хотя, если программно - тоже неплохо. Вот, в МСДН есть (и если определине типа или интерфейса в коде посмотреть) для каждого типа или интерфейса список унаследованных интерфейсов и типа. А как наоборот - выбрал интерфейс или тип и чтобы все унаследованные от него типы и интерфейсы показались? Мне это нужно для того, чтобы выбрать нужный тип для конкретной функциональности. Последовательность мыслей такова: 1) придумываю функциональность, которая мне нужна; 2) смотрю, какие интерфейсы её реализуют; 3) смотрю, какие готовые типы есть для реализации этих интерфейсов; 4) если нет готовых типов или интерфейсов, то реализую сам. Без этого часто возникает ситуация, что приходится изобретать велосипеды, потому что не знаешь наизусть фреймворк (я не Пушкин, чтобы весь Дотнет наизусть знать) и что там уже готового есть. А готового часто много чего есть, особенно для стандартных ситуаций. Вообще, по Дотнету в частности и фреймворкам вообще должен быть такой поиск - выбрал задачи, а теме вывалились интерфейсы и типы под эти задачи. А ты уже между ними выбираешь, а не тупо лопатишь тонны литературы или зубришь там, опыт годами нарабатываешь. На двое 2013 (скоро уже 2014) год, блин! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2013, 11:16 |
|
Есть ли способ получить список типов, реализующих конкретный интерфейс?
|
|||
---|---|---|---|
#18+
user7320, Assembly.ReflectionOnlyLoad Assembly.GetTypes Type.IsAssignableFrom ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2013, 12:03 |
|
Есть ли способ получить список типов, реализующих конкретный интерфейс?
|
|||
---|---|---|---|
#18+
user7320Есть ли способ получить список типов, реализующих конкретный интерфейс?Можно установить Telerik JustDecompile (или Reflector, или JetBrains dotPeek) и там посмотреть derived types вместе с implementation. P.S.: также почаще отдавайте свою реализацию в code review, быстрее узнаете, сколько велосипедов изобрели. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2013, 12:24 |
|
Есть ли способ получить список типов, реализующих конкретный интерфейс?
|
|||
---|---|---|---|
#18+
user7320, это называется паттерн "Стратегия", пользуйтесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2013, 12:25 |
|
Есть ли способ получить список типов, реализующих конкретный интерфейс?
|
|||
---|---|---|---|
#18+
Спасибо. Посмотрю. Но я заметил, что всё это требует телодвижений. А так, в виде готового справочного материала, типа МСДН - тыкнул на ссылку и все унаследованные от этого интерфейса типы показались - нету? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2013, 16:14 |
|
Есть ли способ получить список типов, реализующих конкретный интерфейс?
|
|||
---|---|---|---|
#18+
Во, кое-что нашёл. То, что я хочу, в МСДН называется Inheritance Hierarchy. Например, http://msdn.microsoft.com/en-us/library/ms132474.aspx . Но вот для интерфейсов этого нет. Например, http://msdn.microsoft.com/en-us/library/hh881542.aspx . А хотелось бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2013, 23:09 |
|
|
start [/forum/topic.php?fid=20&msg=38406281&tid=1403989]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 321ms |
total: | 457ms |
0 / 0 |