查找是否在我的项目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";
}
我不确定这是否正确,但这是我发现的最新的东西,在不工作,
在使用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