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 | caractere | Indica uma expressão regular para os nomes das classes | X |
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("JsonField", "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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas