Portable项目类型之前多个目标类型共享代码的方式
2012-12-05 19:41
246 查看
这两天正好在做共享代码,顺便写个体会。在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函数(操作当前结构)。
1、共享代码间的复制,比如Class Library和Silverlight Class Library两个项目,一方简单复制另一方的源代码进行编译。好处是对于复制的代码可以进行一定程度的修改,缺点始终只是一个拷贝。
2、添加链接,始终只需要修改一处,但可能存在一定程度的不兼容性,这个时候就需要通过条件编译来解决。我个人比较推崇第二种方式,对于不同类型的项目可以根据需要Add As Link,繁琐点在于同一个类型可能存在的差异。从哪一个目标共享给另一个目标也很重要,比如Silverlight的Rect结构没有Inflate函数,利用扩展函数添加实现(这个Inflate函数返回一个Rect的拷贝),WPF的Rect结构内置Inflate函数(操作当前结构)。
相关文章推荐
- 向您的项目添加 C 和 C++ 代码 基于Android 2.2已经以上 新姿势 谷歌推荐的最新方式
- JavaWeb项目启动时,自动执行代码的三种方式(包含不占用tomcat启动时长的方式)
- 两种版本实现C#获取快捷方式目标路径的代码
- java 实现BufferedImage和ImageReader两种方式获取图片宽高、判断图片类型、获取图片大小工具类代码以及测试响应结果
- asp.net四种可共享代码的方式
- eclipse多项目共享和同步java代码
- ([Oracle][ODBC]Numeric value out of range.)Biztalk项目中Oracle适配器,目标字段有date类型时报错
- github上传的项目代码语言类型修改
- web项目启动时,自动执行代码的几种方式
- eclipse多项目共享和同步java代码
- 项目中使用XML方式去取数据插入数据代码
- 跨iPhone应用程序的方便,模块化的代码共享:静态库和跨项目的引用
- 跨iPhone应用程序的方便,模块化的代码共享:静态库和跨项目的引用
- 属性BorderSide的代码生成失败。错误是类型在目标框架中不可用
- [14]_关于STM32的存储类型和启动方式、代码下载
- 属性方式,项目中一些不用的代码
- iOS:使用Github托管自己本地的项目代码方式一:(Xcode方式:开发工具Xcode配置Git,由Xcode-->Source Control-->Commit)
- 关于企业中的项目开发代码共享
- asp.net四种可共享代码的方式
- 在Eclipse上使用egit插件通过ssh协议方式上传项目代码的具体步骤