Reflection.getAttributesByAnnotation
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 | caractere | Nome da Annotation a ser procurada | X |
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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas