Á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 8 Próxima »

Efetua a busca de uma Annotation atribuída a uma propriedade de um objeto.

Sintaxe

Reflection.getDataAnnotation( oObj, cPropertyName, cAnnotationName )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

xParam

objeto/caractere**

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

X


cPropertyName 
caractereNome da propriedade onde será procurada a Annotation           X
cAnnotationName 

caractere

Nome da Annotation que será procurada.

X


implementação de comportamento

A partir do build: 24.3.0.0, será possível enviar no parâmetro xParam apenas o nome da classe (vide exemplo2) onde deve ser feita a busca da Annotation,  não sendo mais necessário passar a instancia do objeto(classe) para efetuar a busca(vide exemplo 1). 

Retorno

Nome

Tipo

Descrição

jRet

objeto

Retorna um objeto do tipo Json  contendo o valor da Annotation na propriedade indicada e NIL caso não encontre.

Exemplos

exemplo1.tlpp
#include "tlpp-core.th"
 
@annotation DataAnnotation
  nickname as char
@end
 
Class GetDataAnnotation
  
  @DataAnnotation(nickname = "Company")
  Public data data1

  Public Method New()

EndClass

Method New() class GetDataAnnotation
Return Self
   
Function u_testGetDataAnnotation()

  Local oObj := GetDataAnnotation():New()
  Local jRet
  
  If ( Reflection.isAnnotationDataPresent(oObj, "data1", "DataAnnotation") )
    jRet := Reflection.getDataAnnotation(oObj, "data1", "DataAnnotation")
    Conout(jRet["nickname"])
  EndIf
  
Return

Resultado do Exemplo

Company

Abrangência

17.3.0.3

Veja também

  • Sem rótulos