Windows 8 与 Windows Phone 8 开发代码共享技术解析
1. PCL 项目的权衡
在 PCL(Portable Class Library)项目中共享代码的主要好处是,Visual Studio 编辑器会自动确保你编写的代码能够跨平台移植。当需要从 PCL 项目中调用非移植性代码时,可以采用本节介绍的技术,但会增加一定的复杂性。如果在 PCL 项目中频繁使用这种技术,建议考虑使用共享源文件。
此外,还有两种有助于实现可移植代码与特定平台功能交互的技术:
- 事件机制 :如果从 PCL 项目中调用的特定平台功能是“即发即忘”型(不返回数据或不需要数据),可以在可移植代码中创建一个事件,并在特定平台项目中注册该事件,然后将特定平台功能包含在应用程序事件处理程序中,而不是定义抽象类。
- 委托类型 :如果希望 PCL 项目执行某些计算并回调到特定平台代码,可以使用委托类型。但要确保计算的所有输入和输出都是 PCL 兼容类型。
2. 链接文件与条件编译
便携式类库只能针对库所创建的平台上可用的 .NET 类型的交集。不过,由于 Windows Phone 支持 Windows 中可用的一组 Windows Runtime 框架,因此在某些情况下,可以在便携式库之外的两个平台的应用程序之间共享大量代码。Visual Studio 提供了链接文件这一技术来实现这种代码共享。链接文件类似于文件系统中的符号链接,它使单个物理文件能够逻辑上存在于多个项目中。在 Windows 项目和 Windows Phone 项目之间链接文件后,只需在一处编写代码,即可在两个项目中自
超级会员免费看
订阅专栏 解锁全文

70

被折叠的 条评论
为什么被折叠?



