//Definicoes das annotation, deve estar num fonte
#include "msobject.ch"
namespace exemplo
@annotation AnnotationExemplo
nickname as char
@end
@AnnotationExemplo(nickname = "MeuObject")
class Obj1
public method new()
EndClass
@AnnotationExemplo(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 e retorna um array de objetos do tipo Class
conout(retVar[1]:cClassName)
conout(retVar[1]:cProgramName)
conout(retVar[2]:cClassName)
conout(retVar[2]:cProgramName)
Return cJson
|