![]() |
Rtti in generischer Klasse
Ich habe eine generische Klasse und möchte in einer Methode die Properties von T auslesen...
Geht das in Delphi? |
AW: Rtti in generischer Klasse
Ich denke ja:
Delphi-Quellcode:
type
TTest = class(TObject) private FTest1: String; public property Test1: String read FTest1 write FTest1; end; TGenTest<T> = class(TList<T>) private procedure ShowProperties; end; //... uses RTTI; procedure TGenTest<T>.ShowProperties; var rtContext : TRttiContext; rtType : TRttiType; rtProperty : TRttiProperty; strTmp : String; begin rtContext := TRttiContext.Create; try rtType := rtContext.GetType(TypeInfo(T)); Assert(Assigned(rtType), 'error'); strTmp := ''; for rtProperty in rtType.GetProperties do begin strTmp := strTmp + rtProperty.Name + '=' + rtProperty.PropertyType.ToString + #13#10; end; ShowMessage(strTmp); finally rtContext.Free; end; end; |
AW: Rtti in generischer Klasse
Okay, danke :) TypeInfo(T) war das Zauberwort
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz