获取实现某个抽象类的所有类

时间:2017-07-09 17:07:59

标签: c# reflection asp.net-core .net-core

我正在尝试获取实现某个抽象类的所有类。我正在尝试使用以下代码:

var type = typeof(BaseViewComponent);
var types = Assembly
    .GetEntryAssembly()
    .GetReferencedAssemblies()
    .Select(Assembly.Load)
    .SelectMany(s => s.GetTypes())
    .Where(p => type.IsAssignableFrom(p));

但到目前为止,我只能自己获得抽象类。不是任何实现该基类的类。

我需要更改以获取实现此抽象基类的所有类吗?

1 个答案:

答案 0 :(得分:5)

f <- function(df, gr){
   sl <-  rlang::syms(paste("CIlow", gr, sep="_"))
   sh <-  rlang::syms(paste("CIhigh", gr, sep="_"))
   nmN <- paste("CI", gr, sep= "_")


   df %>%
       dplyr::mutate(!!(nmN[1]) := sprintf("(%s,%s)",
                               !!(sl[[1]]), !!(sh[[1]])),
                     !!(nmN[2]) := sprintf("(%s,%s)",
                               !!(sl[[2]]), !!(sh[[2]]))) %>%
       dplyr::select(paste("CI", gr, sep="_"))



 }

group <- c("a","b")
f(dataframe, group)
#      CI_a      CI_b
#1 (1.1,1.3) (2.1,2.3)
#2 (1.2,1.4) (2.2,2.4)
using System.Reflection;
using Microsoft.Extensions.DependencyModel;