source: branch/egtra-stream-without-en_dec/Classes/ActiveBasic/misc.ab@ 673

Last change on this file since 673 was 400, checked in by イグトランス (egtra), 17 years ago

_System_CThreadCollectionでのクラスインスタンスへのポインタの使用を除去、参照変数構文へ。

File size: 980 bytes
Line 
1'Classes/ActiveBasic/misc.ab
2
3Namespace ActiveBasic
4 Namespace Detail
5 /*!
6 @brief baseがderivedの基底クラスかどうか判定する。
7 @param[in] base 基底クラス
8 @param[in] derived 派生クラス
9 @retval True baseがderivedの基底クラスである
10 @retval False 基底クラスでない
11 @exception ArgumentNullException 引数のどちらか又は双方がNoghing
12 @auther Egtra
13 @date 2008/01/21
14 */
15 Function IsBaseOf(base As System.TypeInfo, derived As System.TypeInfo) As Boolean
16 Imports System
17 If IsNothing(base) Then
18 Throw New ArgumentNullException("base")
19 ElseIf IsNothing(derived) Then
20 Throw New ArgumentNullException("derived")
21 End If
22 Do
23 IsBaseOf = derived.Equals(base)
24 If IsBaseOf Then
25 Exit Function
26 End If
27 derived = derived.BaseType
28 Loop Until IsNothing(derived)
29 End Function
30 End Namespace
31
32 Function IsNothing(o As Object) As Boolean
33 Return Object.ReferenceEquals(o, Nothing)
34 End Function
35End Namespace
Note: See TracBrowser for help on using the repository browser.