Страница 1 из 1

Проверка наличия реализации интерфейса у класса

Добавлено: 09 апр 2013, 23:39
neoksi
1) Как проверить наличие реализации у класса интерфейса?
На сколько я понял нужно сделать следующее:
(название интерфейса).isInstance(ссылка на объект класса)
Вернет true в случае наличия реализации интерфейса в классе.

Если это верно, то возникает следующий вопрос:
2) Как правильно обратиться к методу интерфейса реализованному в объекте?

Re: Проверка наличия реализации интерфейса у класса

Добавлено: 10 апр 2013, 10:08
KamiSempai
Очевидно, нужно привести объект к интерфейсу.
((НазваниеИнтерфейса) СсылкаНаОбъектКласса).МетодИнтерфейса();

Re: Проверка наличия реализации интерфейса у класса

Добавлено: 10 апр 2013, 15:58
neoksi
Ну да, просто еще ни разу этого не делал с интерфейсами. =)
А еще не лишним будет обернуть в try.

Re: Проверка наличия реализации интерфейса у класса

Добавлено: 10 апр 2013, 16:29
KamiSempai
А зачем? Instance на интерфейсах и так медленно работает, а тут еще try.
Если isInstance вернул true, значит все в порядке.

Re: Проверка наличия реализации интерфейса у класса

Добавлено: 10 апр 2013, 16:35
neoksi
KamiSempai писал(а):А зачем? Instance на интерфейсах и так медленно работает, а тут еще try.
Если isInstance вернул true, значит все в порядке.
Если где-то может вылететь ошибка, она обязательно вылетит =)

В try обернуть вызов метода.