获取在WinRT中实现给定接口的所有类

时间:2012-11-13 17:04:21

标签: c# reflection windows-8 windows-runtime windows-store-apps

我正在尝试获取在Windows 8商店应用程序中实现某个界面的类列表,但似乎WinRT中的反射非常不同,到目前为止我找不到这样做的好例子。

有谁知道,如何加载当前程序集并循环遍历它?

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:11)

从MSDN论坛获得答案。只需将其发布在此处以防其他人正在寻找同样的事情。

此代码将获取实现IDisposable接口的所有类:

// We get the current assembly through the current class
var currentAssembly = this.GetType().GetTypeInfo().Assembly;

// we filter the defined classes according to the interfaces they implement
var iDisposableAssemblies = currentAssembly.DefinedTypes.Where(type => type.ImplementedInterfaces.Any(inter => inter == typeof(IDisposable))).ToList();