'Classes/ActiveBasic/misc.ab Namespace ActiveBasic Namespace Detail /*! @brief baseがderivedの基底クラスかどうか判定する。 @param[in] base 基底クラス @param[in] derived 派生クラス @retval True baseがderivedの基底クラスである @retval False 基底クラスでない @exception ArgumentNullException 引数のどちらか又は双方がNoghing @auther Egtra @date 2008/01/21 */ Function IsBaseOf(base As System.TypeInfo, derived As System.TypeInfo) As Boolean Imports System If IsNothing(base) Then Throw New ArgumentNullException("base") ElseIf IsNothing(derived) Then Throw New ArgumentNullException("derived") End If Do IsBaseOf = derived.Equals(base) If IsBaseOf Then Exit Function End If derived = derived.BaseType Loop Until IsNothing(derived) End Function End Namespace Function IsNothing(o As Object) As Boolean Return Object.ReferenceEquals(o, Nothing) End Function End Namespace