Á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 2 Próxima »

Retorna um array com o nome de todas as classes que tem uma determinada annotation.

Sintaxe

Reflection.getClassesByAnnotation( cAnnotationName,[cClassNameFilter]) )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cAnnotationName

caractere

Indica o nome da annotation que será procurada em todas as classes que estão no repositório

X


cClassNameFilter
caractereIndica uma expressão regular para os nomes das classesX

Retorno

Nome

Tipo

Descrição

aRet

Array

Retorna um array com o nome de todas as classes que tem uma determinada annotation.

Exemplos

exemplo1.tlpp
//Definicoes das annotation, deve estar num fonte
#include "msobject.ch" 

@interface AnnotationExemplo
    nickname as char
@end
namespace exemplo

@AnnotationExemplo(nickname = "MeuObject")
class Obj1
    public method new()
EndClass

@JsonField(nickname = "10")
class Obj2
    public method new()
EndClass


method new() class Obj2
return self

method new() class Obj1
return self


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

Resultado do Exemplo

retVar -> ARRAY ( 2) [...]
retVar[1] -> C ( 12) [EXEMPLO.OBJ1]
retVar[2] -> C ( 12) [EXEMPLO.OBJ2]

Abrangência

17.3.0.3

Veja também

  • Sem rótulos