【发布时间】:2015-01-23 23:30:40
【问题描述】:
我有一个非常通用的数据库插入/查询,它可以作为非 PCL 方法正常工作。我正在尝试将其移至 PCL 项目,并且对于大多数代码而言,没有问题。
但是,我发现缺少各种 System.Type 方法,我不知道如何解决这些问题。
我遇到问题的三种方法是GetMethod、GetProperties 和GetCustomAttributes。缺少 IgnoreAttribute 和 Length 属性。
我知道使用 78 配置文件对反射进行了更改,但我没有找到任何替换代码的东西
【问题讨论】:
-
平台依赖的东西应该通过依赖注入来处理,见Xamarin文章developer.xamarin.com/guides/cross-platform/…
-
尽管这更像是一个反射问题而不是一个 xam 表单问题,有没有办法将缺少的方法作为 PCL 的一部分来实现(例如可以通过文件管理器完成)?
-
您将无法向预定义的 PCL 配置文件添加任何内容。所以解决方法是完全相同的。该 Xamarin 文章不仅适用于 Xamarin.Forms。
-
您可以创建一个接口,该接口将提供
GetMethodInfo方法。之后,您应该为每个特定于平台的项目实施它。
标签: c# xamarin.ios xamarin.android portable-class-library