Xamarin PCL 库中的 GetConstructors

Posted

技术标签:

【中文标题】Xamarin PCL 库中的 GetConstructors【英文标题】:GetConstructors in Xamarin PCL library 【发布时间】:2014-08-26 11:35:42 【问题描述】:

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

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

所以,我的问题是,我是否遗漏了什么或者这实际上是正确的?

更新

对于任何想看看我是如何做到这一点的人;

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

【问题讨论】:

【参考方案1】:

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...

【讨论】:

谢谢你,这让我得到了构造函数。

以上是关于Xamarin PCL 库中的 GetConstructors的主要内容,如果未能解决你的问题,请参考以下文章

忽略 Xamarin.Forms (PCL) 中的 SSL 证书错误

如何使用 PCL 支持从 xamarin 跨平台项目中的 URL 下载文件

OSX Yosemite 10.10 上 Xamarin 中的 PCL 库

有没有办法使用 Xamarin.Forms PCL 项目中的 Devexpress.Xamarin.Android.Charts

如何从xamarin表单应用程序中的PCL项目访问android原生布局文件?

Xamarin Forms PCL 中的 LoadApplication 错误