_Type.IsSubclassOf メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > _Type.IsSubclassOf メソッドの意味・解説 

_Type.IsSubclassOf メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

COM オブジェクトに、Type.IsSubclassOf メソッドへのバージョン依存しないアクセス用意されています。

このメソッドは、CLS準拠していません。  

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Function IsSubclassOf ( _
    c As Type _
) As Boolean
bool IsSubclassOf (
    Type c
)
bool IsSubclassOf (
    Type^ c
)
boolean IsSubclassOf (
    Type c
)
function IsSubclassOf (
    c : Type
) : boolean

パラメータ

c

現在の Type比較する Type

戻り値
c パラメータによって表される Type現在の Typeクラス表し現在の Type によって表されるクラスc によって表されるクラスから派生している場合trueそれ以外場合falsec現在の Type が同じクラスを表す場合、このメソッドfalse返します

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Type.IsSubclassOf メソッド

現在の Type によって表されるクラスが、指定されType によって表されるクラスから派生しているかどうか判断します

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public Overridable Function
 IsSubclassOf ( _
    c As Type _
) As Boolean
[ComVisibleAttribute(true)] 
public virtual bool IsSubclassOf (
    Type c
)
[ComVisibleAttribute(true)] 
public:
virtual bool IsSubclassOf (
    Type^ c
)
/** @attribute ComVisibleAttribute(true) */ 
public boolean IsSubclassOf (
    Type c
)
ComVisibleAttribute(true) 
public function IsSubclassOf (
    c : Type
) : boolean

パラメータ

c

現在の Type比較する Type

戻り値
c パラメータによって表される Type現在の Typeクラス表し現在の Type によって表されるクラスc によって表されるクラスから派生している場合trueそれ以外場合falsec現在の Type が同じクラスを表す場合、このメソッドfalse返します

例外例外
例外種類条件

ArgumentNullException

c パラメータnull 参照 (Visual Basic では Nothing) です。

解説解説

IsSubclassOf メソッドは、インターフェイス別のインターフェイスから派生しているかどうか、またはクラスインターフェイス実装しているかどうか判断するために使用できません。この処理には、GetInterface メソッド使用します

現在の Typeジェネリック型またはジェネリック メソッドの定義の型パラメータ表している場合は、クラス制約から派生してます。クラス制約がない場合は System.Object から派生してます。

メモメモ

IsSubclassOf が IsAssignableFrom の逆である場合t1.IsSubclassOf(t2)true であればt2.IsAssignableFrom(t1)true です。

このメソッドは、派生クラスオーバーライドできます

使用例使用例

IsSubclassOf メソッド使用例次に示します

Imports System

Public Interface IMyIfc
End Interface 'IMyIfc

Public Interface IDerived
    Inherits IMyIfc
End Interface 'IDerived

Public Class Class1
    Implements IMyIfc
End Class 'Class1

Public Class MyDerivedClass
    Inherits Class1
End Class 'MyDerivedClass

Class IsSubclassTest

    Public Shared Sub Main()
        Dim imyifcType As Type = GetType(IMyIfc)
        Dim imyderivedType As Type = GetType(IDerived)
        Dim mc As New Class1()
        Dim mcType As Type = mc.GetType()
        Dim mdc = New MyDerivedClass()
        Dim mdcType As Type = mdc.GetType()
        Dim array(10) As Integer
        Dim arrayOfIntsType As Type = array.GetType()
        Dim arrayType As Type = GetType(Array)

        Console.WriteLine("Is Array a derived class of int[]?
 {0}", arrayType.IsSubclassOf(arrayOfIntsType))
        Console.WriteLine("Is int [] a derived class of Array?
 {0}", arrayOfIntsType.IsSubclassOf(arrayType))
        Console.WriteLine("Is IMyIfc a derived class of IDerived?
 {0}", imyifcType.IsSubclassOf(imyderivedType))
        Console.WriteLine("Is myclass a derived class of Class1?
 {0}", mcType.IsSubclassOf(mcType))
        Console.WriteLine("Is myderivedclass a derived class of
 Class1? {0}", mdcType.IsSubclassOf(mcType))
    End Sub 'Main
End Class 'IsSubclassTest
using System;
public interface IMyIfc {}
public interface IDerived : IMyIfc {}
public class Class1 : IMyIfc {}
public class MyDerivedClass : Class1 {}
class IsSubclassTest 
{
    public static void Main()
 
    {
        Type imyifcType = typeof(IMyIfc);
        Type imyderivedType = typeof(IDerived);
        Class1 mc = new Class1();
        Type mcType = mc.GetType();
        Class1 mdc = new MyDerivedClass();
        Type mdcType = mdc.GetType();
        int [] array  = new int
 [10];
        Type arrayOfIntsType = array.GetType();
        Type arrayType = typeof(Array);
    
        Console.WriteLine("Is Array a derived class of int[]?
 {0}", arrayType.IsSubclassOf(arrayOfIntsType));
        Console.WriteLine("Is int [] a derived class
 of Array? {0}", arrayOfIntsType.IsSubclassOf(arrayType));
        Console.WriteLine("Is IMyIfc a derived class of IDerived?
 {0}", imyifcType.IsSubclassOf(imyderivedType));
        Console.WriteLine("Is myclass a derived class of
 Class1? {0}", mcType.IsSubclassOf(mcType));
        Console.WriteLine("Is myderivedclass a derived class
 of Class1? {0}", mdcType.IsSubclassOf(mcType));
    }
}
using namespace System;
interface class IMyIfc{};
interface class IDerived: public IMyIfc{};
public ref class Class1: public
 IMyIfc{};

public ref class MyDerivedClass: public
 Class1{};

int main()
{
   Type^ imyifcType = IMyIfc::typeid;
   Type^ imyderivedType = IDerived::typeid;
   Class1^ mc = gcnew Class1;
   Type^ mcType = mc->GetType();
   Class1^ mdc = gcnew MyDerivedClass;
   Type^ mdcType = mdc->GetType();
   array<Int32>^arr = gcnew array<Int32>(10);
   Type^ arrayOfIntsType = arr->GetType();
   Type^ arrayType = Array::typeid;
   Console::WriteLine( "Is Array a derived class of Int32[]?
 {0}", arrayType->IsSubclassOf( arrayOfIntsType ).ToString() );
   Console::WriteLine( "Is Int32[] a derived class of Array?
 {0}", arrayOfIntsType->IsSubclassOf( arrayType ).ToString() );
   Console::WriteLine( "Is IMyIfc a derived class of IDerived?
 {0}", imyifcType->IsSubclassOf( imyderivedType ).ToString() );
   Console::WriteLine( "Is myclass a derived class of Class1?
 {0}", mcType->IsSubclassOf( mcType ).ToString() );
   Console::WriteLine( "Is myderivedclass a derived class
 of Class1? {0}", mdcType->IsSubclassOf( mcType ).ToString() );
}
import System.*;

public interface IMyIfc
{
} //IMyIfc

public interface IDerived extends IMyIfc
{
} //IDerived

public class Class1 implements IMyIfc
{
} //Class1

public class MyDerivedClass extends Class1
{
} //MyDerivedClass

class IsSubclassTest
{
    public static void main(String[]
 args)
    {
        Type iMyIfcType = IMyIfc.class.ToType();
        Type iMyDerivedType = IDerived.class.ToType();
        Class1 mc = new Class1();
        Type mcType = mc.GetType();
        Class1 mdc = new MyDerivedClass();
        Type mdcType = mdc.GetType();
        int array[] = new int[10];
        Type arrayOfIntsType = array.GetType();
        Type arrayType = Array.class.ToType();

        Console.WriteLine("Is Array a derived class of int[]?
 {0}",
            System.Convert.ToString(arrayType.IsSubclassOf(arrayOfIntsType)));
        Console.WriteLine("Is int [] a derived class
 of Array? {0}", 
            System.Convert.ToString(arrayOfIntsType.IsSubclassOf(arrayType)));
        Console.WriteLine("Is IMyIfc a derived class of IDerived?
 {0}", 
            System.Convert.ToString(iMyIfcType.IsSubclassOf(iMyDerivedType)));
        Console.WriteLine("Is myclass a derived class of
 Class1? {0}", 
            System.Convert.ToString(mcType.IsSubclassOf(mcType)));
        Console.WriteLine("Is myderivedclass a derived class
 of Class1? {0}", 
            System.Convert.ToString(mdcType.IsSubclassOf(mcType)));
    } //main
} //IsSubclassTest
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」から_Type.IsSubclassOf メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書から_Type.IsSubclassOf メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書から_Type.IsSubclassOf メソッドを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「_Type.IsSubclassOf メソッド」の関連用語

_Type.IsSubclassOf メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



_Type.IsSubclassOf メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS