首页 > 其他 > 详细

怎么通过反射获取所有继承了某一接口的类

时间:2016-02-17 18:42:42      阅读:193      评论:0      收藏:0      [点我收藏+]

使用 Linq:

var types = AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(a => a.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(ISecurity))))
.ToArray();

不使用 Linq:

public static IEnumerable<Type> GetType(Type interfaceType)
{
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
foreach (var type in assembly.GetTypes())
{
foreach (var t in type.GetInterfaces())
{
if (t == interfaceType)
{
yield return type;
break;
}
}
}
}
}

怎么通过反射获取所有继承了某一接口的类

原文:http://www.cnblogs.com/yelanggu/p/5196156.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!