import.css=/download/attachments/6062824/tecnologia.css |
Efetua busca da Annotation em um objeto e retorna uma array com o(s) método(s) onde a mesma foi encontrada.
Reflection.getMethodsObjectByAnnotation( oObj,cAnnotationName ) |
Nome | Tipo | Descrição | Obrigatório | Referência |
|---|---|---|---|---|
oObj | objeto | Objeto na qual a busca será realizada | X | |
cAnnotationName | caractere | Nome da annotation a ser procurada | X |
Nome | Tipo | Descrição |
|---|---|---|
aRet | Array | Retorna um array com o os objetos Method. |
//Definicoes das annotation, deve estar num fonte
#include "tlpp-object.th"
@annotation metodo
@end
@annotation classeMetodo
@end
@classeMetodo()
Class NovaClasseMetodo
Public Data TesteAttr
@metodo()
Public Method MetodoTeste()
Public Method New(str)
endclass
Method New(str) class NovaClasseMetodo
::TesteAttr := str
return self
Method MetodoTeste() 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")
ObjMethod := Reflection.getMethodsObjectByAnnotation(obj1, "metodo")
conout("Nome do Metodo: " + ObjMethod[1]:cMethodName)
return
|
Nome do Metodo: METODOTESTE
17.3.0.3