Type.IsInstanceOfType(Object) 메서드

정의

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

public virtual bool IsInstanceOfType (object? o);
public virtual bool IsInstanceOfType (object o);

매개 변수

o
Object

현재 형식과 비교할 개체입니다.

반환

현재 Typeo가 나타내는 개체의 상속 계층 구조에 속하거나 현재 Typeo가 구현하는 인터페이스이면 true입니다. 이러한 조건에 해당하지 않거나 onull이거나 현재 Type이 개방형 제네릭 형식(즉, ContainsGenericParameterstrue 반환)이면 false입니다.

구현

예제

다음 예제에서는 IsInstanceOfType 메서드를 사용하는 방법을 보여 줍니다.

using System;

public interface IExample {}

public class BaseClass : IExample {}

public class DerivedClass : BaseClass {}

public class Example
{
    public static void Main()
    {
        var interfaceType = typeof(IExample);
        var base1 = new BaseClass();
        var base1Type = base1.GetType();
        var derived1 = new DerivedClass();
        var derived1Type = derived1.GetType();
        int[] arr = new int[11];

        Console.WriteLine("Is int[] an instance of the Array class? {0}.",
                           typeof(Array).IsInstanceOfType(arr));
        Console.WriteLine("Is base1 an instance of BaseClass? {0}.",
                          base1Type.IsInstanceOfType(base1));
        Console.WriteLine("Is derived1 an instance of BaseClass? {0}.",
                          base1Type.IsInstanceOfType(derived1));
        Console.WriteLine("Is base1 an instance of IExample? {0}.",
                          interfaceType.IsInstanceOfType(base1));
        Console.WriteLine("Is derived1 an instance of IExample? {0}.",
                          interfaceType.IsInstanceOfType(derived1));
    }
}
// The example displays the following output:
//    Is int[] an instance of the Array class? True.
//    Is base1 an instance of BaseClass? True.
//    Is derived1 an instance of BaseClass? True.
//    Is base1 an instance of IExample? True.
//    Is derived1 an instance of IExample? True.

설명

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

참고

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

적용 대상

제품 버전
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1