Xamarin PCL库中的GetConstructors

Ham*_*ein 5 c# reflection mono xamarin

我正在与Xamarin一起开发一个Android项目,并且在此过程中,我决定编写自己的简单IoC容器.现在,我来决定是否需要为注入的实例注入任何依赖项.我查看了Type.GetConstructors,它说它可以在PCL项目中使用,但我似乎无法获得GetConstructors.

我在使用中有System.Reflection,如果我创建了一个Android库,我可以使用GetConstructor/s.MSDN 文档肯定说它在PCL中.也许这不是我完全理解PCL在Xamarin生态系统中意味着什么,但我认为这意味着它会受到支持.

所以,我的问题是,我错过了什么或者这是否正确?

UPDATE

对于任何想看我怎么做的人;

https://github.com/tbd-develop/simpletypeprovider

jst*_*ast 10

Xamarin使用与Microsoft发布的相同的PCL配置文件,但并非所有PCL配置文件都支持System.Type.GetConstructors().

你可能需要做这样的事情(很难肯定,因为每个PCL配置文件都有不同的System.Reflection限制):

var info = type.GetTypeInfo ();
foreach (var ctor in info.DeclaredConstructors) {
    // find the .ctor you want...
}
Run Code Online (Sandbox Code Playgroud)