Árvore de páginas

Retorna um array com o objeto Attribute de cada uma das propriedades que possuem a Annotation do objeto enviado.

Sintaxe

Reflection.getAttributesByAnnotation( xParam,cAnnotationName )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

xParam**

objeto/caractere**

Objeto instância da classe/nome da classe** onde a busca da Annotation será realizada

X


cAnnotationName 
caractereNome da Annotation a ser procuradaX

Implementação de comportamento

A partir do build 24.3.0.0, também haverá a opção de passar simplesmente o nome da classe em xParam, conforme exemplo 2. Mas continua valendo a passagem da instância do objeto (exemplo 1). 

Retorno

Nome

Tipo

Descrição

aRet

Array

Retorna um array contendo os objetos do tipo Attribute.

Exemplos

exemplo1.tlpp
#include "tlpp-core.th"
 
@annotation attr
@end
 
Class GetAttributesByAnnotation
 
  @attr()
  Public Data cAttr as Character
  Public Method New()
  
EndClass
 
Method New() class GetAttributesByAnnotation
  ::cAttr := "initialized"
Return self
 
Function u_testGetAttributesByAnnotation()
  
  Local aAttr as Array
  local obj   as Object

  obj   := GetAttributesByAnnotation():New()
  aAttr := Reflection.getAttributesByAnnotation(obj, "attr")
  ConOut(aAttr[1]:cAttributeName)
  ConOut(aAttr[1]:cAttributeType)
  
Return
exemplo2.tlpp
#include "tlpp-core.th"
 
@annotation attr
@end
 
Class GetAttributesByAnnotation
 
  @attr()
  Public Data cAttr as Character
  Public Method New()
  
EndClass
 
Method New() class GetAttributesByAnnotation
  ::cAttr := "initialized"
Return self
 
Function u_testGetAttributesByAnnotation()
  
  Local aAttr as Array

  aAttr := Reflection.getAttributesByAnnotation("GetAttributesByAnnotation", "attr")
  ConOut(aAttr[1]:cAttributeName)
  ConOut(aAttr[1]:cAttributeType)
  
Return

Resultado dos Exemplos

-----------------------
CATTR
CHARACTER
-----------------------

Abrangência

17.3.0.3

Veja também

  • Sem rótulos