다음을 통해 공유


Type.IsInstanceOfType 메서드

지정된 개체가 현재 Type의 인스턴스인지 여부를 확인합니다.

네임스페이스: System
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public Overridable Function IsInstanceOfType ( _
    o As Object _
) As Boolean
‘사용 방법
Dim instance As Type
Dim o As Object
Dim returnValue As Boolean

returnValue = instance.IsInstanceOfType(o)
public virtual bool IsInstanceOfType (
    Object o
)
public:
virtual bool IsInstanceOfType (
    Object^ o
)
public boolean IsInstanceOfType (
    Object o
)
public function IsInstanceOfType (
    o : Object
) : boolean

매개 변수

  • o
    현재 Type과 비교할 개체입니다.

반환 값

현재 Type이 o가 나타내는 개체의 상속 계층 구조에 속하거나 현재 Type이 o가 지원하는 인터페이스이면 true이고, 이러한 조건에 해당하지 않거나 o가 Null 참조(Visual Basic의 경우 Nothing)이거나 현재 Type이 개방형 제네릭 형식(ContainsGenericParameterstrue 반환)이면 false입니다.

설명

이 메서드는 파생된 클래스에서 재정의할 수 있습니다.

참고

생성된 형식은 제네릭 형식 정의의 인스턴스가 아닙니다. 즉, MyGenericList<int>(Visual Basic의 경우 MyGenericList(Of Integer))는 MyGenericList<T>(Visual Basic의 경우 MyGenericList(Of T))의 인스턴스가 아닙니다.

예제

다음 예제에서는 IsInstanceOfType 메서드의 사용에 대해 설명합니다.

Imports System
Public Interface IMyIfc
End Interface 'IMyIfc
Public Class [MyClass]
    Implements IMyIfc
End Class '[MyClass]
Public Class MyDerivedClass
    Inherits [MyClass]
End Class 'MyDerivedClass
Class IsInstanceTest
    Public Shared Sub Main()
        Dim imyifcType As Type = GetType(IMyIfc)
        Dim mc As New [MyClass]()
        Dim mcType As Type = mc.GetType()
        Dim mdc = New MyDerivedClass()
        Dim mdcType As Type = mdc.GetType()
        Dim array(10) As Integer
        Dim arrayType As Type = GetType(Array)
        Console.WriteLine("Is int[] an instance of the Array class? {0}.", arrayType.IsInstanceOfType(array))
        Console.WriteLine("Is myclass an instance of MyClass? {0}.", mcType.IsInstanceOfType(mc))
        Console.WriteLine("Is myderivedclass an instance of MyClass? {0}.", mcType.IsInstanceOfType(mdc))
        Console.WriteLine("Is myclass an instance of IMyIfc? {0}.", imyifcType.IsInstanceOfType(mc))
        Console.WriteLine("Is myderivedclass an instance of IMyIfc? {0}.", imyifcType.IsInstanceOfType(mdc))
    End Sub 'Main
End Class 'IsInstanceTest
using System;
public interface IMyIfc {}
public class MyClass : IMyIfc {}
public class MyDerivedClass : MyClass {}
class IsInstanceTest 
{
    public static void Main() 
    {
        Type imyifcType=typeof(IMyIfc);
        MyClass mc = new MyClass();
        Type mcType = mc.GetType();
        MyClass mdc = new MyDerivedClass();
        Type mdcType = mdc.GetType();
        int [] array  = new int [10];
        Type arrayType = typeof(Array);
        Console.WriteLine("Is int[] an instance of the Array class? {0}.", arrayType.IsInstanceOfType(array));
        Console.WriteLine("Is myclass an instance of MyClass? {0}.", mcType.IsInstanceOfType(mc));
        Console.WriteLine("Is myderivedclass an instance of MyClass? {0}.", mcType.IsInstanceOfType(mdc));
        Console.WriteLine("Is myclass an instance of IMyIfc? {0}.", imyifcType.IsInstanceOfType(mc));
        Console.WriteLine("Is myderivedclass an instance of IMyIfc? {0}.", imyifcType.IsInstanceOfType(mdc));
    }
}
using namespace System;
interface class IMyIfc{};
public ref class MyClass: public IMyIfc{};

public ref class MyDerivedClass: public MyClass{};

int main()
{
   Type^ imyifcType = IMyIfc::typeid;
   MyClass^ mc = gcnew MyClass;
   Type^ mcType = mc->GetType();
   MyClass^ mdc = gcnew MyDerivedClass;
   Type^ mdcType = mdc->GetType();
   array<Int32>^arr = gcnew array<Int32>(10);
   Type^ arrayType = Array::typeid;
   Console::WriteLine( "Is Int32[] an instance of the Array class? {0}.", arrayType->IsInstanceOfType( arr ) );
   Console::WriteLine( "Is myclass an instance of MyClass? {0}.", mcType->IsInstanceOfType( mc ) );
   Console::WriteLine( "Is myderivedclass an instance of MyClass? {0}.", mcType->IsInstanceOfType( mdc ) );
   Console::WriteLine( "Is myclass an instance of IMyIfc? {0}.", imyifcType->IsInstanceOfType( mc ) );
   Console::WriteLine( "Is myderivedclass an instance of IMyIfc? {0}.", imyifcType->IsInstanceOfType( mdc ) );
}
import System.*;
public interface IMyIfc
{
} //IMyIfc

public class MyClass implements IMyIfc
{
} //MyClass

public class MyDerivedClass extends MyClass
{
} //MyDerivedClass

class IsInstanceTest
{
    public static void main(String[] args)
    {
        Type imyifcType = IMyIfc.class.ToType();
        MyClass mc = new MyClass();
        Type mcType = mc.GetType();
        MyClass mdc = new MyDerivedClass();
        Type mdcType = mdc.GetType();
        int array[] = new int[10];
        Type arrayType = Array.class.ToType();
        Console.WriteLine("Is int[] an instance of the Array class? {0}.",
            System.Convert.ToString(arrayType.IsInstanceOfType(array)));
        Console.WriteLine("Is myclass an instance of MyClass? {0}.", 
            System.Convert.ToString(mcType.IsInstanceOfType(mc)));
        Console.WriteLine("Is myderivedclass an instance of MyClass? {0}.",
            System.Convert.ToString(mcType.IsInstanceOfType(mdc)));
        Console.WriteLine("Is myclass an instance of IMyIfc? {0}.",
            System.Convert.ToString(imyifcType.IsInstanceOfType(mc)));
        Console.WriteLine("Is myderivedclass an instance of IMyIfc? {0}.", 
            System.Convert.ToString(imyifcType.IsInstanceOfType(mdc)));
    } //main
} //IsInstanceTest

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

Type 클래스
Type 멤버
System 네임스페이스