📜  C#| Type.GetInterfaces()方法(1)

📅  最后修改于: 2023-12-03 15:14:28.089000             🧑  作者: Mango

C# | Type.GetInterfaces()方法

在C#编程语言中,我们经常会需要获取某一个类型的接口。Type.GetInterfaces()方法就是用于获取当前类型实例所实现的所有接口列表的方法。

语法
public interface Type
{
    Type[] GetInterfaces();
}
参数

该方法没有参数。

返回值

Type[] - 当前类型实例所实现的所有接口列表。

示例代码

下面的示例代码演示了如何使用Type.GetInterfaces()方法来获取一个类所实现的所有接口:

using System;

public interface IMyInterface1
{
    void InterfaceMethod1();
}

public interface IMyInterface2
{
    void InterfaceMethod2();
}

public class MyClass : IMyInterface1, IMyInterface2
{
    public void InterfaceMethod1()
    {
        Console.WriteLine("InterfaceMethod1");
    }

    public void InterfaceMethod2()
    {
        Console.WriteLine("InterfaceMethod2");
    }
}

class Program
{
    static void Main(string[] args)
    {
        Type myClassType = typeof(MyClass);
        Type[] interfaceList = myClassType.GetInterfaces();

        Console.WriteLine("MyClass 实现的接口:");
        foreach (Type interfaceType in interfaceList)
        {
            Console.WriteLine(interfaceType.Name);
        }
    }
}

输出结果:

MyClass 实现的接口:
IMyInterface1
IMyInterface2
注意事项
  • 如果一个类型没有实现任何接口,则该方法将返回一个空数组。

  • 如果一个类型实现了多个相同的接口(或从多个基类继承了相同的接口),则该接口仅会被返回一次。

  • Type.GetInterfaces()方法只会返回当前类型实例直接继承或实现的接口列表。它不会返回继承关系链中祖先类型实现的接口列表。