Histórico da Página
...
Retorna um array contendo as anotações usadas em Annotations atribuídas a uma propriedade de um objeto.
...
Bloco de código | ||
---|---|---|
| ||
Reflection.getDataAnnotationList( oObjxParam, cPropertyName ) |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|
xParam** | objeto |
/caractere** | Objeto instância da classe/nome da classe** onde será procurado/a a Annotation. | X | ||
cPropertyName | caractere | Indica o nome da propriedade onde será procurada a Annotation | X |
Informações | ||
---|---|---|
| ||
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 | jRetArray | Array de JsonObjectCaso encontre as anotações na propriedade do objeto passado, retorna um array onde cada posição contém um object Json. Se nenhuma anotação for encontrada contendo em cada posição um objeto Json contendo o valor de cada Annotation atribuída a propriedade do objeto. Caso nenhuma Annotation seja encontrada, retorna NIL. |
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include "tlpp-core.th" @annotation AnnotationUmAnnotationGetDataAnnotationList01 teste1 as char @end @annotation AnnotationDoisAnnotationGetDataAnnotationList02 teste2 as char @end classClass MeuObjetoGetDataAnnotationList @AnnotationUm(teste @AnnotationGetDataAnnotationList01(teste1 = "Primeira Annotation") @AnnotationDois(teste @AnnotationGetDataAnnotationList02(teste2 = "Segunda Annotation") public Public data data1 public method new() Public Method New() EndClass main function usoDeAnnotation() localMethod New() class GetDataAnnotationList Return Self Function u_testGetDataAnnotationList() Local oObj := MeuObjetoGetDataAnnotationList():New() local jRet jRet Local aRet as array aRet := Reflection.getDataAnnotationgetDataAnnotationList(oObj,"data1") Conout(aRet[1]["teste1"]) Conout(aRet[2]["teste2"]) Return |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include "tlpp-core.th" @annotation AnnotationGetDataAnnotationList01 teste1 as char @end @annotation AnnotationGetDataAnnotationList02 teste2 as char @end Class GetDataAnnotationList @AnnotationGetDataAnnotationList01(teste1 = "Primeira Annotation") @AnnotationGetDataAnnotationList02(teste2 = "Segunda Annotation") Public data data1 Public Method New() EndClass Method New() class GetDataAnnotationList Return Self Function u_testGetDataAnnotationList() Local aRet as array aRet := Reflection.getDataAnnotationList(GetDataAnnotationList,"data1") Conout(aRet","AnnotationExemplo") conout(Len(jRet)) conout(jRet[1]["testeteste1"]) conout(jRet Conout(aRet[2]["testeteste2"]) returnReturn |
Resultado do Exemplo
...
Primeira Annotation
Segunda Annotation
...