我正在使用Xamarin.forms pcl。
创建应用程序我已经知道我们使用" Device.OS"区分我们使用pcl时的平台。
但在某些情况下,我需要使用define header来存档它,但我无法找到解决方案。
在某些情况下,我想为每个平台使用不同的派生类。
像这样#if __ANDROID__
public class SkiaView_BG : SKCanvasView
#else
public class SkiaView_BG : SKGLView
#endif
答案 0 :(得分:2)
没有。 PCL的重点在于代码编译一次,Android和iOS(或您定位的任何平台)都使用完全相同的DLL。因此没有#if用于定位不同的平台。
如果您真的需要在平台之间共享大部分代码,但是使用上面示例中的某些特定于平台的代码,则应该查看shared projects。
如果您需要使用PCL,那么您需要找到一种方法将其转换为自定义渲染器,或其他方法将该类移动到每个特定于平台的项目中。