Ralf I use the following method
ClassMethod classProps() [ CodeMode = objectgenerator ]
{
d %code.WriteLine(" s propList=""""")
s inLoop=0
for i = 1:1:%compiledclass.Properties.Count() {
if (('%compiledclass.Properties.GetAt(i).Private)&&('%compiledclass.Properties.GetAt(i).Calculated)&&('%compiledclass.Properties.GetAt(i).Transient)){
d:inLoop=0 %code.Write(" s propList=$LB(")
d:inLoop=1 %code.Write(",")
d %code.Write("$LB("""_%compiledclass.Properties.GetAt(i).Name_""","""_%compiledclass.Properties.GetAt(i).Type_""","""_%compiledclass.Properties.GetAt(i).Collection_""")")
s:inLoop=0 inLoop=1
}
}
d:inLoop=1 %code.WriteLine(")")
Do %code.WriteLine(" q propList")
Quit $$$OK
}
This creates a method in the class that will return a list of lists containing the name, type, and collection of all the properties in the class. You could then loop through the list, or change the code to return an array of just the names, etc.
s list=##class(MY.Class).classProps()
for X=1:1:$LL(list) {
w "Prop name"_$LG($LG(list,X),1)
w "Prop type"_$LG($LG(list,X),2)
w "Prop collection"_$LG($LG(list,X),2)
}Ben Taylor MPLNet, Inc. [EMAIL PROTECTED]
Ralf Huwald wrote:
Hi!
Is there a class or method, which i can use to get a list of all properties of a given clasS? I am looking for something like:
s class="TEST" s property="" f s property=##class(x.y).%Next(class,property) q:property="" d .d xyz
Or is there a global, where all of the class-definition is stored?!?
Ralf
