使用激活器从可移植 class 项目的界面获取实例

Using activator to get an instance from interface on a portable class project

知道如何在便携式 class 中执行此操作吗? 't' 似乎没有 IsInterface 或 IsAbstract,Type 也没有 IsAssignableFrom。

我正在尝试从可移植 class 库项目中的接口激活一个实例,以便我可以在 Xamarin 中使用它。

我尝试了 this question 中的这段代码,但它不起作用,因为可移植项目中没有很多东西

问题代码:

Type[] iLoadTypes = (from t in Assembly.Load("ClassLibrary1").GetExportedTypes()
                 where !t.IsInterface && !t.IsAbstract
                 where typeof(ILoad).IsAssignableFrom(t)
                 select t).ToArray();

谢谢

可移植 class 库在程序集和类型 class 中有一些更新。 这是在便携式 class 项目中执行所需操作所需的代码。

Type[] interfaceTypes = (from t in Assembly.Load(new AssemblyName("DependencyInjectionClient")).ExportedTypes
                                             where !t.GetTypeInfo().IsInterface && !t.GetTypeInfo().IsAbstract
                                             where typeof(T).GetTypeInfo().IsAssignableFrom(t.GetTypeInfo())
                                             select t).ToArray();

您需要的信息已移至 TypeInfo class。

答案来自this question and this question 这导致 this post