Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 5 Próxima »

Retorna um array com o nome de todas as funções que tem uma determinada annotation.

Sintaxe

Reflection.getFunctionsByAnnotation( cAnnotationName,[cNamespaceNameFilter]) )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cAnnotationName

caractere

Nome da Annotation que será procurada em todas as funções que estão no repositório

X


cNamespaceNameFilter
caractereIndica uma expressão regular para os nomes da namespace.
Obs.: É possivel a utilização do caracter coringa  para setar o nome da namespace para busca.
           X

Retorno

Nome

Tipo

Descrição

aRet

array

Array multidimensional com o nome dos fontes e das funções que contém a Annotation procurada.

Exemplos

test_doc_resourceGetFunctionsByAnnotation.tlpp
/*
Programa test_doc_resourceGetFunctionsByAnnotation.tlpp
*/

#include "tlpp-core.th"

namespace namespaceGetFunctionsByAnnotation

@annotation AnnotationExemplo
resourceExemplo as char
@end

@AnnotationExemplo(resourceExemplo='Valor de Exemplo1')
function u_resourceGetFunctionsByAnnotation1()
return

@AnnotationExemplo(resourceExemplo='Valor de Exemplo2')
function u_resourceGetFunctionsByAnnotation2()
return

@AnnotationExemplo(resourceExemplo='Valor de Exemplo3')
function u_resourceGetFunctionsByAnnotation3()
return
exemplo1.tlpp
//Definicoes das annotation, deve estar num fonte
#include "msobject.ch" 
namespace exemplo
@annotation AnnotationExemplo
    nickname as char
@end


@AnnotationExemplo(nickname = "MeuObject")
main Function AnnotationTeste()
	conout("AnnotationTeste")
Return

Main Function Exemplo()
    retVar := Reflection.getFunctionsByAnnotation("AnnotationExemplo", "exemplo.*") //procura por todas as classes do namespace exemplo
    varinfo("retVar", retVar)
    
Return cJson

Resultado do Exemplo

retVar -> ARRAY ( 2) [...]

retVar[1] -> ARRAY ( 2) [...]

retVar[1][1]  C ( 12) [EXEMPLO.TLPP]

retVar[1][2]  C ( 12) [EXEMPLO.OBJ1]

retVar[2] -> ARRAY ( 2) [...]

retVar[2][1]  C ( 12) [EXEMPLO.TLPP]

retVar[2][2]  C ( 12) [EXEMPLO.OBJ2]

Abrangência

17.3.0.3

Veja também

  • Sem rótulos