Histórico da Página
...
| Pagetitle | ||||
|---|---|---|---|---|
|
Retorna se encontrou Efetua a busca de Annotation em qualquer parâmetro de um métodoum método de um objeto e retorna uma lista com a posição de cada parâmetro onde a Annotation foi encontrada.
Sintaxe
| Bloco de código | ||
|---|---|---|
| ||
Reflection.getMethodParmsByAnnotation( oObject, cFunctionNamecMethodName, aListParms, cAnnotationName) |
...
Nome | Tipo | Descrição | Obrigatório | Referência | ||
|---|---|---|---|---|---|---|
oObject | objetoIndica | o objeto onde está o método que será procurado Objeto proprietário do método onde será procurada a Annotation. | X | |||
cPropertyNamecMethodName | caractere | Indica o nome Nome do método onde será procurada a Annotation. | X | |||
aListParms | array | Retorna a lista Lista de parâmetros que contém a Annotation | X | com a posição onde a Annotation foi encontrada. | X | X |
cAnnotationName | caractere | Indica o nome Nome da Annotation que será a ser procurada. | X X |
Retorno
Nome | Tipo | Descrição |
|---|---|---|
lRet | lógico | Retorna .T. caso encontre algum parâmetro que tenha contenha a Annotation e .F. caso não tenha. |
...
, 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
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
@interface AnnotationExemplo NICKNAME #include "tlpp-core.th" @annotation AnnotationGetMethodParmsByAnnotation nickname as char @end classClass MeuObjeto public data data1 public method newGetMethodParmsByAnnotation Public Method New() Public public method teste(@AnnotationExemplo("valorMethod ParmByAnnotation(@AnnotationGetMethodParmsByAnnotation("annotation parm1") parm1, @AnnotationExemplo@AnnotationGetMethodParmsByAnnotation("valorannotation parm2") parm2) EndClass Method New() class GetMethodParmsByAnnotation Return Self main function usoDeAnnotation Function u_testGetMethodParmsByAnnotation() Local local oObj := MeuObjetoGetMethodParmsByAnnotation():New() Local lRet := .F. localas jRetlogical Local aRet := {} as jRetarray lRet := Reflection.getMethodParmsByAnnotationGetMethodParmsByAnnotation(oObj, "testeParmByAnnotation", aRet@aRet, "AnnotationExemploAnnotationGetMethodParmsByAnnotation") conout(jRet) conout(aRet[1]) conout(aRet[2]) returnif 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
...