8

Windows 8에서 특정 인터페이스를 구현하는 클래스 목록을 얻으려고하고 있는데 반성이 WinRT와 매우 다르며 지금까지는 할 수 없었습니다. 그렇게하는 좋은 모범을 찾으십시오.WinRT에서 주어진 인터페이스를 구현하는 모든 클래스 가져 오기

현재 어셈블리를로드하고 루프하는 방법을 아는 사람이 있습니까?

도움이 많이되었습니다. :)

+0

당신이 잘 설명되어 있기 때문에 당신이 사용할 수있는 클래스를 알 필요가 있습니까. –

+0

@Ramhound 저는 100 개가 넘는 규칙을 가지고 있고 각 규칙마다 고유 한 이름을 가지고 있고 IRule 인터페이스를 구현하고 있다고 생각하고 있습니다. IRule 인터페이스를 구현하는 모든 클래스를 얻고 싶습니다. –

+0

당신이 보았습니까 [스레드] (http://stackoverflow.com/questions/13373000/in-metro-get-all-inherited-classes-of-an-abstract-class)? 은 아마 내가 대답으로 표시 줄, 답은 아래에 완벽하게 작동 당신이 NG –

답변

10

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(); 
관련 문제