Efetua a busca de Annotation em um método de um objeto e retorna uma lista com a posição de cada parâmetro onde a Annotation foi encontrada.
Sintaxe
Reflection.getMethodParmsByAnnotation( oObject, cMethodName, aListParms, cAnnotationName)
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
oObject | objeto | Objeto proprietário do método onde será procurada a Annotation. | X | |
cMethodName | caractere | Nome do método onde será procurada a Annotation. | X | |
aListParms | array | Lista de parâmetros com a posição onde a Annotation foi encontrada. | X | X |
cAnnotationName | caractere | Nome da Annotation a ser procurada. | X |
Retorno
Nome | Tipo | Descrição |
---|---|---|
lRet | lógico | Retorna .T. caso encontre algum parâmetro que contenha a Annotation, caso não encontre .F. |
aListParams | array | Array passada por referência na busca contendo em cada indicie a posição do parâmetro onde a Annotation foi encontrada. Caso não encontre, a array retorna vazia. |
Exemplo
test_doc_getMethodParmsByAnnotation.tlpp
#include "tlpp-core.th" @annotation AnnotationGetMethodParmsByAnnotation nickname as char @end Class GetMethodParmsByAnnotation Public Method New() Public Method ParmByAnnotation(@AnnotationGetMethodParmsByAnnotation("annotation parm1") parm1, @AnnotationGetMethodParmsByAnnotation("annotation parm2") parm2) EndClass Method New() class GetMethodParmsByAnnotation Return Self Function u_testGetMethodParmsByAnnotation() Local oObj := GetMethodParmsByAnnotation():New() Local lRet := .F. as logical Local aRet := {} as array lRet := Reflection.GetMethodParmsByAnnotation(oObj, "ParmByAnnotation", @aRet, "AnnotationGetMethodParmsByAnnotation") if lRet Conout(lRet) aEval(aRet,{|x| Conout(x)}) else Conout('Nao foi possivel encontrar nenhuma Annotation com parametros informados') endIf Return
Resultado do Exemplo
.T.
1
2
Abrangência
17.3.0.3
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas