如何使用 RTTI 访问 Delphi 数组属性
我熟悉使用 Delphi RTTI 访问“简单”属性(整数/枚举/字符串等),但我无法掌握如何使用数组属性。 我首先寻找 GetPropValue/SetPropValue 调用的数…
Variant 内容类型的字符串表示形式?
首先,对我的英语表示歉意,我希望我在这里写的内容有意义。 现在我的问题。 如何使用 TypInfo.GetEnumName() 获取变体内容类型的字符串表示形式。 我…
如何检查Delphi类是否声明为抽象类?
在Delphi中是否可以使用RTTI(或其他东西)来检查一个类是否被声明为抽象类? 就像是: TMyAbstractClass = class abstract(TObject) // ... end; ...…
C++ RTTI 继承导致类大小增加
在 C++ 中,问题很简单。 我有两个类,一个包含另一个作为其实现的一部分。 struct A { void do_something() { }; }; struct B { A obj_A; void hello…
如何检测 Delphi 类是否有虚拟构造函数?
例如,有没有办法找出这个类有一个虚拟构造函数(在运行时)? TMyClass = class(TObject) MyStrings: TStrings; constructor Create; virtual; end; …
将 Delphi 对象树序列化为 XML 的好方法是什么——使用 RTTI 而不是自定义代码?
将 Delphi 对象树序列化为 XML 的好方法是什么——使用 RTTI 而不是自定义代码? 我很想发现这个功能已经内置在 Delphi 中,但似乎没有。 我发现了一…
is 和 typeof 哪个更快
这些代码中哪一段更快? if (obj is ClassA) {} if (obj.GetType() == typeof(ClassA)) {} 编辑: 我知道他们不做同样的事情。…