-1

我正在使用 Xamarin.forms pcl 制作应用程序。

我已经知道我们使用“Device.OS”来区分我们使用 pcl 时是什么平台。

但是在某些情况下,我需要使用define header来归档它,但我找不到解决方案。

在某些情况下,我想为每个平台使用不同的派生类。

像这样

#if __ANDROID__
    public class SkiaView_BG : SKCanvasView
#else
    public class SkiaView_BG : SKGLView
#endif
4

1 回答 1

2

不,PCL 的全部意义在于代码编译一次,并且 Android 和 iOS(或您的目标平台)使用完全相同的 DLL。因此没有针对不同平台的#if。

如果您确实需要在平台之间共享大部分代码,但是使用上面示例中的一些特定于平台的代码,您应该查看共享项目

如果您需要使用 PCL,那么您需要找到一种方法将其转换为自定义渲染器,或其他方法将该类移动到每个特定于平台的项目中。

于 2017-01-25T23:48:49.513 回答