📜  C#中的Type.FindInterfaces()方法以及示例(1)

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

C#中的Type.FindInterfaces()方法以及示例

简介

Type.FindInterfaces() 方法用于搜索当前 Type 对象所表示的接口,并返回与指定筛选条件匹配的接口数组。

该方法的语法如下:

public interface Type
{
    Type[] FindInterfaces(TypeFilter filter, object filterCriteria);
}

其中,参数 filter 是一个 TypeFilter 委托,用于表示筛选条件,参数 filterCriteria 是一个可选的筛选标准,用于表示筛选条件的附加数据。

示例

下面是一个简单的示例,用于演示如何使用 Type.FindInterfaces() 方法查找指定接口:

using System;

public interface IMyInterface
{
    void MyMethod();
}

public class MyClass : IMyInterface
{
    public void MyMethod()
    {
        Console.WriteLine("MyClass.MyMethod() is called.");
    }
}

public class Example
{
    public static void Main()
    {
        Type type = typeof(MyClass); // 获取 MyClass 类型
        Type[] interfaces = type.FindInterfaces(
            (t, c) => t.Name == "IMyInterface", // 筛选条件
            null);

        Console.WriteLine("MyClass 实现的接口为:");
        foreach (Type i in interfaces)
        {
            Console.WriteLine(i);
        }
    }
}

在上面的示例中,我们定义了一个接口 IMyInterface 和一个实现该接口的类 MyClass。然后,我们使用 Type.FindInterfaces() 方法查找 MyClass 实现的接口,并输出到控制台上。在筛选条件中,我们指定了查找 Name 属性值为 "IMyInterface" 的接口。

上面代码的输出结果如下:

MyClass 实现的接口为:
IMyInterface