9

Windows 8ストアアプリで特定のインターフェイスを実装するクラスのリストを取得しようとしていますが、WinRTではリフレクションが大きく異なるようで、これまでのところ、その良い例を見つけることができませんでした。

現在のアセンブリをロードしてループする方法を知っている人はいますか?

どんな助けでも大歓迎です:)

4

1 に答える 1

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();
于 2012-11-13T20:53:41.253 に答える