个人资料

主页 博客 留言板 搜索
跳过导航链接首页 > 博客列表 > 博客正文

Xamarin学习系列(007)-不同平台代码分离

分类

Xamarin 不同平台代码分离的三种方法

我们在使用Xamarin跨平台解决方案的过程中,其中超过80%的业务代码是可以共写在Shared Project中以供Android、IOS、UWP等平台共用。但由于各平台的一些API调用的方式不同,因此,需要将这些不同的业务代码区分开来写,那具体有哪些方法可以实现代码分离呢?Xamarin官网给出以下几种方法:

方法一:Conditional Compilation   -- 选择性编译,用#if #elif 等在Shared Project将不同平台的代码分开

if __IOS__     ........//这的代码只在IOS下编译  #endif if __ANDROID__     ........//这的代码只在Android下编译  #endif 

方法二:Class Mirroring,简单来说,就是在Shared Project 中定义接口(并非真正的Interface),然后在IOS和Droid的Projects中实现

如在Shared Project中定义如下代码

void Main(){    Alert.Show()  }

在IOS 项目中实现如下

internal class Alert() { public void Show()   {      ................//你自己的代码  } }

在Android 项目中实现如下

 internal class Alert() { public void Show()   {      ................//你自己的代码  }  }

方法三:Partial Class And Method   --通过部分类来实现

Shared Project中:

partial class HelloWorld() {     .............//共享的代码 }

IOS Project中:

partial class HelloWorld() {     .............//IOS项目中的实现代码 }




songshizhao
最初发表2017/5/14 17:14:08 最近更新2017/5/14 17:14:08 922
为此篇作品打分
10