C# 獲取基類或者接口的全部繼承類方法

 static class ReflectionHelper
    {
        public static IEnumerable<T> CreateAllInstancesOf<T>()
        {
            return typeof (ReflectionHelper).Assembly.GetTypes() //獲取當前類庫下全部類型
                .Where(t => typeof (T).IsAssignableFrom(t)) //獲取間接或直接繼承t的全部類型
                .Where(t => !t.IsAbstract && t.IsClass) //獲取非抽象類 排除接口繼承
                .Select(t => (T) Activator.CreateInstance(t)); //創造實例,並返回結果(項目需求,可刪除)
        }
    }
相關文章
相關標籤/搜索