Histórico da Página
...
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
oObj | objeto | Objeto na qual onde a busca pela Annotation será realizada | X | |
cAnnotationName | caractere | Nome da annotation da Annotation a ser procurada | X |
Retorno
Nome | Tipo | Descrição |
---|---|---|
aRet | Array | Retorna um array com o os objetos Method. |
...
Array contendo em cada posição um objeto Json com a propriedade cMethodName onde o valor é o método onde a Annotation foi encontrada. Caso não haja resultado a array retorna vazia. |
Exemplo
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//Definicoes das annotation, deve estar num fonte #include "tlpp-objectcore.th" @annotation metodoAnnotationGetMethodsObjectByAnnotation @end @annotation classeMetodo @end @classeMetodo() Class NovaClasseMetodoGetMethodsObjectByAnnotation Public Data TesteAttr @metodo() Public Method MetodoTeste() Method New() @AnnotationGetMethodsObjectByAnnotation() Public Method NewMethodWithAnnotation(str) endclass EndClass Method New(str) class NovaClasseMetodoGetMethodsObjectByAnnotation ::TesteAttr := str return self Method MetodoTesteReturn Self Method MethodWithAnnotation() class NovaClasseMetodo Conout("Instancia executada: " + ::TesteAttr) return "Banana" User Function testeMetodo() local ObjMethod local classes local obj1 classes := Reflection.getClassesByAnnotation("classeMetodo", "") // vazio para pegar todas as classes do repositorio obj1 := classes[1]:CreateInstance("Instancia 1") GetMethodsObjectByAnnotation Return Function u_testGetMethodsObjectByAnnotation() Local ObjMethod Local oObj oObj := GetMethodsObjectByAnnotation():New() ObjMethod := Reflection.getMethodsObjectByAnnotation(obj1oObj, "metodoAnnotationGetMethodsObjectByAnnotation") conout Conout("Nome do Metodo: " + ObjMethod[1]:cMethodName) return Return |
Resultado do Exemplo
Nome do Metodo: METODOTESTEMethodWithAnnotation
Abrangência
17.3.0.3
Veja também
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas