コード例 #1
0
ファイル: MefCatalogFactory.cs プロジェクト: yepeiwen/PTVS
        public static ComposableCatalog AddTypesFromAssembly(this ComposableCatalog composableCatalog, string assemblyName, params string[] typeNames)
        {
            var assembly = GetLoadedAssembly(assemblyName, AppDomain.CurrentDomain.GetAssemblies());

            foreach (var typeName in typeNames)
            {
                var type = assembly.GetType(typeName) ?? throw new AssertFailedException($@"Type {typeName} can't be found in assembly {assemblyName}.");
                composableCatalog = composableCatalog.AddType(type);
            }
            return(composableCatalog);
        }
コード例 #2
0
ファイル: MefCatalogFactory.cs プロジェクト: yepeiwen/PTVS
 public static ComposableCatalog AddType <T>(this ComposableCatalog composableCatalog)
 => composableCatalog.AddType(typeof(T));
コード例 #3
0
ファイル: MefCatalogFactory.cs プロジェクト: yepeiwen/PTVS
 public static ComposableCatalog AddInstance <T1, T2, TResult>(this ComposableCatalog composableCatalog, Func <T1, T2, TResult> factory)
 => composableCatalog.AddType(MefFactoryGenerator.GetExportType(factory));
コード例 #4
0
ファイル: MefCatalogFactory.cs プロジェクト: yepeiwen/PTVS
 public static ComposableCatalog WithServiceProvider(this ComposableCatalog composableCatalog)
 => composableCatalog.AddType <ServiceProvider>();
コード例 #5
0
 public static ComposableCatalog AddType <T>(this ComposableCatalog composableCatalog)
 {
     return(composableCatalog.AddType(typeof(T)));
 }
コード例 #6
0
 public static ComposableCatalog AddInstance <T>(this ComposableCatalog composableCatalog, Func <T> factory)
 {
     return(composableCatalog.AddType(MefFactoryGenerator.GetExportType(factory)));
 }
コード例 #7
0
 public static ComposableCatalog WithServiceProvider(this ComposableCatalog composableCatalog)
 {
     return(composableCatalog.AddType <ServiceProvider>());
 }