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 | caractere | Nome 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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas