1 (изменено: yalanne, 2015-08-18 15:03:05)

Тема: AHK: Работа с классами. __Get Подкласса.

class abc
{
; Get B
    __Get(var)
    {
        msgbox % var
    }

; Get C
    Class B
    {
        __Get(var)
        {
            msgbox % var
        }
    
    }
}

A := new abc
A.B.C

Как получить имя C, с B это просто, но с C не работает.

2

Re: AHK: Работа с классами. __Get Подкласса.

А зачем вообще этот Get вам нужен?

A := new abc
A.d
A.sub.C

class abc
{
    __New()  {
        this.sub := new this.B
    }
; Get B
    __Get(var)
    {
        if var in d,e,f
            msgbox % var
    }

; Get C
    Class B
    {
        __Get(var)
        {
            msgbox % var
        }
    
    }
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Работа с классами. __Get Подкласса.

Спасибо.

Нужно для того что бы вызывать как бы функцию у которой не надо указывать параметры.

Var := new MyClass

Var.ChildVar.A
Var.ChildVar.B
Var.ChildVar.C

class MyClass
{
    __New()
    {
        this.ChildVar := new this.ChildVar
    }

    Class ChildVar
    {
        __Get(var)
        {
            if var = A
                msgbox Действие 1
            if var = B
                msgbox Действие 2
            if var = C
                msgbox Действие 3
        }
    
    }
}