Текущее время: Вт, апр 16 2024, 14:31

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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