Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Portuguese
Pagetitle
Classe Attribute
Classe Attribute

Classe que representa atributos presentes em determinada Classe

Propriedades

Inclusão de trecho
Classe Attribute - Propriedades
Classe Attribute - Propriedades
nopaneltrue

Métodos

Inclusão de trecho
Classe Attribute - Métodos
Classe Attribute - Métodos
nopaneltrue

Exemplos

Bloco de código
languagecpp
themeEclipse
titleExemplo1.tlpp
linenumberstrue
//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
ParametrosTESTEATTR
parametro 1CHAR
parametro 2Banana1
-----------------------------------
Retorno do metodo: Banana
Nome do Metodo: METODOTESTECOMPARAMETROS
-----------------------------------
Instancia:
Instancia 2
ParametrosTESTEATTR
parametro 1CHAR
parametro 2
------------Banana2
-----------------------
Retorno do metodo: Banana

Observações:

Disponível a partir da build 17.3.0.7.