Classe que representa atributos presentes em determinada Classe
Propriedades
Métodos
Exemplos
Exemplo1.tlpp
//Definicoes das annotation, deve estar num fonte #include "tlpp-object.th" @annotation classe @end @annotation attr @end @classe() Class NovaClasse @attr() Public Data TesteAttr as char Public Method MetodoTeste() Public Method New(str) endclass Method New(str) class NovaClasse ::TesteAttr := str return self Method MetodoTeste() class NovaClasse Conout(::TesteAttr) return "Banana" Main Function testeNovo() local AttrA local obj1 := NovaClasse():New("Instancia 1") local obj2 := NovaClasse():New("Instancia 2") Conout("-----------------------") AttrA := Reflection.getAttributesByAnnotation(obj1, "attr") Conout(AttrA[1]:GetValue(obj1)) AttrA[1]:Assign(obj1, "Banana1") Conout(AttrA[1]:cAttributeName) Conout(AttrA[1]:cAttributeType) Conout(obj1:TesteAttr) Conout("-----------------------") Conout("-----------------------") AttrA := Reflection.getAttributesByAnnotation(obj2, "attr") Conout(AttrA[1]:GetValue(obj2)) AttrA[1]:Assign(obj2, "Banana2") Conout(AttrA[1]:cAttributeName) Conout(AttrA[1]:cAttributeType) Conout(obj2:TesteAttr) Conout("-----------------------") return
Retorno do exemplo
Instancia executada: Instancia 1
Nome do Metodo: METODOTESTE
Retorno do metodo: Banana
Instancia executada: Instancia 2
Nome do Metodo: METODOTESTE
Retorno do metodo: Banana
Nome do Metodo: METODOTESTECOMPARAMETROS
-----------------------------------
Instancia:
Instancia 1
Parametros
parametro 1
parametro 2
-----------------------------------
Retorno do metodo: Banana
Nome do Metodo: METODOTESTECOMPARAMETROS
-----------------------------------
Instancia:
Instancia 2
Parametros
parametro 1
parametro 2
-----------------------------------
Retorno do metodo: Banana
Observações:
Disponível a partir da build 17.3.0.7.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas