|
Last change
on this file since 673 was 400, checked in by イグトランス (egtra), 18 years ago |
|
_System_CThreadCollectionでのクラスインスタンスへのポインタの使用を除去、参照変数構文へ。
|
|
File size:
980 bytes
|
| Line | |
|---|
| 1 | 'Classes/ActiveBasic/misc.ab
|
|---|
| 2 |
|
|---|
| 3 | Namespace 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
|
|---|
| 35 | End Namespace
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.