ロギングとレポートの理由から、例外に属するクラス名とメッセージを持つオブジェクトを作成します。これを行うので、Exceptionオブジェクトの存続期間を管理する必要はありません。私がやりたいのは、Delphi6の" is "演算子を使用して、オブジェクトが特定のクラスから派生したかどうかを判断できるRTTI識別の利点を回復することです。
文字列形式のクラス名を使用して、文字列に含まれるクラスが別のクラスから派生したものかどうかを判断する方法はありますか?
strClassNameに格納されているオブジェクトのクラスがあり、そのクラスが「derivatedClass」であるとします。さらに、derivedClassはbaseClassから派生しています。strClassNameの文字列形式のクラスがbaseClassから派生しているかどうかを判断できる関数はありますか?例えば:
// Hypothetical function that returns TRUE if the class in strClassName is
// derived from the class passed in theBaseClass
function isDerivedClass(strClassName: string; theBaseClass: TAnyClass): boolean;
そのメソッドの本体はどのようになりますか?