这两天正好在做共享代码,顺便写个体会。在Visual Studio 2012的Portable项目类型之前,为跨多个技术目标类型(Client Profile、Full Framework、Silverlight等)共享代码一般有两种方式:

1、共享代码间的复制,比如Class Library和Silverlight Class Library两个项目,一方简单复制另一方的源代码进行编译。好处是对于复制的代码可以进行一定程度的修改,缺点始终只是一个拷贝。

2、添加链接,始终只需要修改一处,但可能存在一定程度的不兼容性,这个时候就需要通过条件编译来解决。我个人比较推崇第二种方式,对于不同类型的项目可以根据需要Add As Link,繁琐点在于同一个类型可能存在的差异。从哪一个目标共享给另一个目标也很重要,比如Silverlight的Rect结构没有Inflate函数,利用扩展函数添加实现(这个Inflate函数返回一个Rect的拷贝),WPF的Rect结构内置Inflate函数(操作当前结构)。

Portable项目类型之前多个目标类型共享代码的方式相关推荐

  1. 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...

  2. [转]深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)...

    以下内容转自: 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-l ...

  3. Java Lambda(语言篇——lambda,方法引用,目标类型,默认方法,函数接口,变量捕获)

    深入理解Java 8 Lambda(语言篇--lambda,方法引用,目标类型和默认方法) 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout ...

  4. cmake的使用-目标类型详解

    Target Types 本章概括 CMake支持的类型有很多种,可以是可执行文件或者库文件,也可以在不构建的情况下作为其它实体的引用. 使用这种引用作用:可以在不将对象构建成自己的二进制文件的情况下 ...

  5. Java 8新特性探究(6):泛型的目标类型推断

    简单理解泛型 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.通俗点将就是"类型的变量".这种类型变量可以用在类.接口和方法 ...

  6. java 鲜为人知的知识点_鲜为人知的Java 8功能:广义目标类型推断

    java 鲜为人知的知识点 遍历Java 8的功能列表 , 广义目标类型推断使我震惊,因为它是一个特别有趣,鲜为人知的瑰宝. 看起来Java语言设计人员将减轻过去使用泛型(Java 5-7)时遇到的某 ...

  7. 鲜为人知的Java 8功能:广义目标类型推断

    遍历Java 8功能列表 , 广义目标类型推断使我震惊,因为它是一个特别有趣,鲜为人知的瑰宝. 看起来Java语言设计人员将减轻过去使用泛型(Java 5-7)时遇到的某些痛苦. 让我们看看他们的例子 ...

  8. WPF 绑定继承的样式提示 只能根据带有基类型 IFrameworkInputElement 的目标类型的 Style 样式

    在 WPF 中,如果有一个样式是继承另一个样式,而样式没有使用 TargetType 那么在运行的时候会提示 只能根据带有基类型 IFrameworkInputElement 的目标类型的 Style ...

  9. java8类型推导,鲜为人知的Java8特性:泛化目标类型推断

    本文由 ImportNew - 彭秦进 翻译自 javacodegeeks.如需转载本文,请先参见文章末尾处的转载要求. ImportNew注:如果你也对Java技术翻译分享感兴趣,欢迎加入我们的 J ...

最新文章

  1. 大盘过4000,注意风险~
  2. vsftpd类似wu-ftpd分类(Class)的配置-给不同网段的人以不同的上传权限-对虚拟用户进行访问IP限制...
  3. Shell编程常用命令
  4. 奥鹏C语言专科在线作业答案,奥鹏13春电子科大《C语言(专科)》在线作业3答案...
  5. Hibernate之一级缓存和二级缓存
  6. (精)DEVC++的几个实用小技巧
  7. 前沿 | 使用Transformers进行端到端目标识别
  8. 使用cisco pt 6.0模拟NAT,PAT
  9. Oracle 20c 新特性:原生的 JSON 数据类型(Native JSON Datatype)
  10. 正则表达式的使用,python正则匹配一个话题标签
  11. Alert提示框插件
  12. 8051蜂鸣器程序c语言,单片机驱动蜂鸣器C51程序
  13. redis下载安装教程
  14. 浅谈JSP编程的网店管理系统构造
  15. vnc远程连接,5个步骤教你如何轻松实现vnc远程连接
  16. 论文浏览(20) Video Classification with Channel-Separated Convolutional Networks
  17. 腾讯云PCDN:从P2P到万物互联服务框架
  18. Java用Tessdata做OCR图片文字识别
  19. GitOps | 一种云原生的持续交付模型
  20. Choco求解器的安装

热门文章

  1. Switch语句的参数是什么类型的?
  2. eclipse报错: Could not generate secret
  3. 130242014045 林承晖 第2次实验
  4. 点击跳转到QQ聊天界面
  5. ELK日志分析系统(转)
  6. LazyT 提供对延迟初始化的支持
  7. 省赛热身赛之Median
  8. Swift傻傻分不清楚系列(八)函数
  9. div设置overflow-scroll滚动之后,jq获取其子元素的offset.top出现问题。
  10. HDU 4414 Finding crosses(搜索)