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-05-14T05:14:08 访问量:686
评论 [发表评论]