Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 2 Atual »

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.

  • Sem rótulos