Общая информация
Я не понимаю, почему существуют 2 generating_type
вида, один с восклицательным знаком, а другой нет.
Мой случай
У меня есть функция, возвращающая DB_SERVICE[G]
из данного экземпляра из коллекции db_services
, чтобы из другого сервиса я мог получить его и вызвать.Когда я передаю экземпляр generating_type
этой функции, conforms_to
возвращает True, как когда я даю ({ENUMERATE}).generating_type
, это не так.
Почему это так?
-- Humanly unreadable
if attached {ENUMERATE_DB_SERVICE} {SIT_ENVIRONMENT}.app_instance.db_service_from_entity_type (item_prototype.charge_unit_relationship.secondary_prototype.an_index_relationship.secondary_prototype.generating_type) as l_enum_dbs then
-- Humanly readable but not working
if attached {ENUMERATE_DB_SERVICE} {SIT_ENVIRONMENT}.app_instance.db_service_from_entity_type (({ENUMERATE}).generating_type) as l_enum_dbs then
Моя функция
db_service_from_entity_type (an_entity_type: TYPE[detachable DB_ENTITY]): detachable like db_services.item
do
across
db_services as l_dbs
until
Result /= Void
loop
if l_dbs.item.item_prototype.generating_type.conforms_to (an_entity_type) then
Result := l_dbs.item
end
end
ensure
service_found: attached Result
end
Редактировать (20190405-11: 26 UTC)
Как показано на скриншоте, предоставление {ENUMERATE}
вместо ({ENUMERATE}).generating_type
также не работает