Árvore de páginas

Procura Annotation  nos parâmetros de uma função.

Sintaxe

Reflection.getFunctionParmsByAnnotation( cSourceName, cFunctionName, aListParms, cAnnotationName)

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cSourceName

caractere

Nome do fonte cuja função  onde serão procuradas as Annotation.

X


cFunctionName

caractere

Nome da função onde será procurada a Annotation.

X


aListParms
arrayLista de parâmetros contendo o retorno das Annotation.           XX
cAnnotationName
caractereNome da Annotation a ser procurada.          X

Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna .T. caso encontre algum parâmetro que tenha a Annotation e .F. caso não tenha

Exemplos

test_doc_resourceGetFunctionParmsByAnnotation.tlpp
/*
Programa test_doc_resourceGetFunctionParmsByAnnotation.tlpp
*/

#include "tlpp-core.th"

@annotation AnnotationExemplo
nickname as char
@end

function u_resourceGetFunctionParmsByAnnotation(@AnnotationExemplo("valor parm1") parm1, @AnnotationExemplo("valor parm2") parm2)
return



test_doc_getFunctionParmsByAnnotation.tlpp
#include "tlpp-core.th"

function u_testGetFunctionParmsByAnnotation()
	local lRet := .F. as logical
	local aRet := {} as array

	lRet := Reflection.getFunctionParmsByAnnotation("test_doc_resourceGetFunctionParmsByAnnotation.tlpp", "u_resourceGetFunctionParmsByAnnotation",@aRet,"AnnotationExemplo")

	if(lRet) .and. (valType(aRet) == 'A' .and. len(aRet) > 0)
		conout(lRet)
		aEval(aRet,{|x| conout(x)})
	else
		conout('Não foi possivel encontrar a Annotation com os parametros solicitados')
	endif

return

Resultado do Exemplo

.T.

1

2

Abrangência

17.3.0.3

Veja também

  • Sem rótulos