Loading

Implementations of interface through Reflection 反射根据继承的信息查找指定的类

 1     /// <summary>
 2     /// Returns all types in the current AppDomain implementing the interface or inheriting the type. 
 3     /// </summary>
 4     public static IEnumerable<Type> TypesImplementingInterface(Type desiredType)
 5     {
 6         return AppDomain
 7             .CurrentDomain
 8             .GetAssemblies()
 9             .SelectMany(assembly => assembly.GetTypes())
10             .Where(type => desiredType.IsAssignableFrom(type));
11 
12     }
    public static bool IsRealClass(Type testType)
    {
        return testType.IsAbstract == false
            && testType.IsGenericTypeDefinition == false
            && testType.IsInterface == false;
    }
posted @ 2011-12-15 14:45  today4king  阅读(330)  评论(0编辑  收藏  举报