Показать сообщение отдельно
Старый 10.10.2023, 11:37   #17  
kair84 is offline
kair84
Участник
 
47 / 58 (2) ++++
Регистрация: 15.04.2010
Адрес: Belarus
Решение есть
Прошу прощение за Офтоп, У меня недавно возникла необходимость сделать подобное, и все получилось, не так красиво как я бы хотел но все же:

X++:
class A
{
}
class B extends A
{
}
[ExtensionOf(classStr(A))]
final class A_Extension
{
    public void salute()
    {
        switch (true)
        {
            case this is B:    
                B b = this ;
                b.salute();
            default :
                info("A extension");
        }        
    }
}
[ExtensionOf(classStr(B))]
final class B_Extension
{
    public void salute()
    {
        info("B extension");
    }

}
В идеале хотелось бы обойтись без упоминания конкретного наследника, через DictClass или что то подобное, но пока только так получилось.