Histórico da Página
...
Pagetitle | ||||
---|---|---|---|---|
|
Retornar Efetua a busca de Annotation a partir de um determinado parâmetro de uma função, em determinada posição em um método.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
Reflection.getMethodParmAnnotation( oObjectxParam, cFunctionNamecMethodName, nParmPos, cAnnotationName) |
...
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
oObjectxParam** | objeto/caractere** | Objeto instância da classe/nome da classe** proprietário/a** do método onde será procurada Indica o objeto onde está o método que será procurado a Annotation. | X | |
cPropertyNamecMethodName | caractere | Indica o nome Nome do método onde será procurada a Annotation. | X | |
nParmPos | numérico | Indica a posição Posição do parâmetro onde será procurada a Annotation | X X | |
cAnnotationName | caractere | Indica o nome Nome da Annotation que será a ser procurada.X | 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 | |
---|---|---|---|
jRet | JsonObject | objeto | Objeto do tipo Json sendo a propriedade a Annotation e contendo o valor da mesma. Retorna Retorna o object Json caso encontre a Annotation no parâmetro do método e NIL caso não encontre resultado para a busca. |
...
Exemplo
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
@interface AnnotationExemplo #include "tlpp-core.th" @annotation AnnotationGetMethodParmAnnotation nickname as char @end classClass MeuObjeto public data data1 public method newGetMethodParmAnnotation Public Method New() Public public method teste(@AnnotationExemplo("valorMethod ParmAnnotation(@AnnotationGetMethodParmAnnotation("annotation parm1") parm1, @AnnotationExemplo@AnnotationGetMethodParmAnnotation("valorannotation parm2") parm2) EndClass Method New() class GetMethodParmAnnotation Return Self main function usoDeAnnotationFunction u_testGetMethodParmAnnotation() local Local oObj := MeuObjetoGetMethodParmAnnotation():New() Local jRet jRet := local jRet Reflection.getMethodParmAnnotation(oObj, "ParmAnnotation", 1, "AnnotationGetMethodParmAnnotation") Conout(jRet["nickname"]) jRet := Reflection.getMethodParmAnnotation(oObj,"testeParmAnnotation", 12, "AnnotationExemplo") conout(jRet["NICKNAME"]) AnnotationGetMethodParmAnnotation") Conout(jRet["nickname"]) Return |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include "tlpp-core.th" @annotation AnnotationGetMethodParmAnnotation nickname as char @end Class GetMethodParmAnnotation Public Method New() Public Method ParmAnnotation(@AnnotationGetMethodParmAnnotation("annotation parm1") parm1, @AnnotationGetMethodParmAnnotation("annotation parm2") parm2) EndClass Method New() class GetMethodParmAnnotation Return Self Function u_testGetMethodParmAnnotation() Local jRet jRet := Reflection.getMethodParmAnnotation(oObj"GetMethodParmAnnotation", "testeParmAnnotation", 21, "AnnotationExemplo") conout"AnnotationGetMethodParmAnnotation") Conout(jRet["nickname"]) jRet := Reflection.getMethodParmAnnotation("GetMethodParmAnnotation","ParmAnnotation", 2, "AnnotationGetMethodParmAnnotation") Conout(jRet["NICKNAMEnickname"]) returnReturn |
Resultado do Exemplo
valorannotation parm1
valorannotation parm2
Abrangência
17.3.0.3
Veja também
...