RosettaCodeData/Task/Reflection-List-properties/PascalABC.NET/reflection-list-properties.pas

20 lines
463 B
ObjectPascal

uses System, System.Reflection;
type
MyClass = class
private
auto property NumberPrivate: integer := 666;
public
auto property Number: integer := 3;
end;
begin
var flags := BindingFlags.Instance or BindingFlags.Static
or BindingFlags.Public or BindingFlags.NonPublic
or BindingFlags.DeclaredOnly;
var obj := new MyClass;
typeof(MyClass).GetProperties(flags).Select(p -> (p.Name,p.GetValue(obj))).PrintLines;
end.