查找是否在我的项目c#中使用接口

本文关键字:接口 项目 是否 我的 查找 | 更新日期: 2023-09-27 17:51:12

我需要找到是否在项目中使用特定的接口,我只是发现了一些像

Type IType = Type.GetType("iInterfaceName"); // I want to look in whole project, not in one file
if (IType == null)
{  
   Text = "Interface Not Exist";
}
else
{
    Text = "Interface Exist";
}

我不确定这是否正确,但这是我发现的最新的东西,在不工作,

查找是否在我的项目c#中使用接口

在使用GetType之前使用Assembly.Load,如下所示:

Assembly.Load("YourProjectName")
        .GetType("iInterfaceName");

假设您有以下接口:

public interface IFoo
{
}

你可以找到是否有任何类型是这样实现的:

var isImplemented = Assembly.GetExecutingAssembly().
                             GetTypes().
                             Any(t => t.IsAssignableFrom(typeof (IFoo)));

要使用上述指令,请在using指令中添加:

using System.Linq;

对于。net 2.0:

var isImplemented = false;
foreach (var t in Assembly.GetExecutingAssembly().GetTypes())
{
    if (!t.IsAssignableFrom(typeof (IFoo))) continue;
    isImplemented = true;
    break;
}
//Operate