Текущее время: Пт, апр 19 2024, 21:02

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Как определить является ли некоторый класс наследником указанного класса?
СообщениеДобавлено: Пн, янв 14 2013, 12:55 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2011, 11:48
Сообщения: 12
Откуда: Украина
Пол: Мужской
Еще один вариант- более лаконичный. Какой лучше, пока трудно сказать....

Code:
Method IsDescendantOf_2 .
    " importing instance        type ref to object
    "           parentClassName type string
    "returning value(IsDescendant) type abap_Bool
data:
   SuperClassDsrb type ref to cl_abap_objectDescr.
"----------------------------------------------

  SuperClassDsrb ?= cl_abap_typedescr=>describe_by_name( parentClassName  ).

  if SuperClassDsrb->applies_to( instance ) = abap_true.
     IsDescendant = abap_true.
  else.
     IsDescendant = abap_false.
  endif.

  free SuperClassDsrb.

endMethod.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как определить является ли некоторый класс наследником указанного класса?
СообщениеДобавлено: Пн, янв 14 2013, 13:07 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
gentle написал:
Еще один вариант- более лаконичный. Какой лучше, пока трудно сказать....
2-й лучше, он учитывает еще и реализацию интерфейсов. Только нужно еще и проверку на ошибки (exception) при вызове describe_by_name добавить.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как определить является ли некоторый класс наследником указанного класса?
СообщениеДобавлено: Пн, янв 14 2013, 13:08 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2011, 11:48
Сообщения: 12
Откуда: Украина
Пол: Мужской
Попозже будет учтено и это.
:wink:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как определить является ли некоторый класс наследником указанного класса?
СообщениеДобавлено: Чт, июн 01 2017, 17:53 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
В 7.50 появился INSTANCE OF: "The new predicate expression IS INSTANCE OF can be used to detect the dynamic type of an object reference variable. This makes it possible to check the feasibility of a down cast before it is executed. "


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB