两个实用的工具推荐:ResxManager和ValueInjecter
一、ResxManager
1、 资源文件编辑工具ResxManager,这个工具可以在一个界面中编辑所有语言的内容。
2、 可以新增、删除key。
3、 注意:如果是新建的Resx,一定要有一个key之后才可以编辑。
4、 地址:有两个版本,
单独程序:http://resxmanager.com/
vs插件:http://visualstudiogallery.msdn.microsoft.com/3b64e04c-e8de-4b97-8358-06c73a97cc68
虽然还有想一些瑕疵,感觉对编辑多语言还是很有帮助的。
二、对象Mapper工具
1、对象Mapper工具有好几种,比如:AutoMapper、EmitMapper、ValueInjecter,经过比较比较推荐ValueInjecter。
2、下面是测试截图,测试用的类包含16个基本类型、一个List类型,list类型对象的数据结构是测试类去掉List之后的结构。
测试类生成的对象中,包含10个list,所以还是能有一定的借鉴意义的。
先贴出测试类数据结构:
public class BigData
{
public long Id { get; set; }
public int Count { get; set; }
public string str1 { get; set; }
public string str2 { get; set; }
public string str3 { get; set; }
public string str4 { get; set; }
public string str5 { get; set; }
public string str6 { get; set; }
public string str7 { get; set; }
public string str8 { get; set; }
public string str9 { get; set; }
public string str10 { get; set; }
public string str11 { get; set; }
public string str12 { get; set; }
public DateTime CreatedTime { get; set; }
public DateTime UpdatedTime { get; set; } public List<BigDataItem> Items { get; set; }
}
public class BigDataItem
{
public long Id { get; set; }
public int Count { get; set; }
public string str1 { get; set; }
public string str2 { get; set; }
public string str3 { get; set; }
public string str4 { get; set; }
public string str5 { get; set; }
public string str6 { get; set; }
public string str7 { get; set; }
public string str8 { get; set; }
public string str9 { get; set; }
public string str10 { get; set; }
public string str11 { get; set; }
public string str12 { get; set; }
public DateTime CreatedTime { get; set; }
public DateTime UpdatedTime { get; set; }
}
下面是对手工、AutoMapper、EmitMapper、ValueInjecter、ValueInjecter使用DeepCloneInjectionde的运行时间对比(按照时间顺序)。





大家可以对比,ValueInjecter优势还是比较明显的,虽然和手工编码还有一定的差距,我感觉代码效率和编码复杂度的平衡来说,ValueInjecter还是不错的选择,一些Codeplex上的开源程序就在使用ValueInjecter.
3、ValueInject具体实现方式还在研究中,貌似不是直接使用反射也不是Emit。在部分源码中看到有TypeDescriptor这个类的使用,需要深入研究一下。
4、地址:https://valueinjecter.codeplex.com/
两个实用的工具推荐:ResxManager和ValueInjecter的更多相关文章
- 实用小工具推荐 OpenWrite
[实用小工具推荐]给技术同学们推荐一款比较好用的工具,可以实现一稿多发,主流的技术渠道基本涵盖了:https://www.openwrite.cn/ 因为工作的关系,认识了很多做技术公众号的小伙伴,同 ...
- 实用工具推荐(Live Writer)(2015年05月26日)
1.写博客的实用工具 推荐软件:Live Writer 使用步骤: 1.安装 Live Essential 2011,下载地址:http://explore.live.com/windows-live ...
- 推荐几个对Asp.Net开发者比较实用的工具 2
推荐几个对Asp.Net开发者比较实用的工具.大家有相关工具也可以在评论区留言,一起努力学习. 作为程序员要有挑战精神,大家可以尝试一下这些工具. 已经有篇文章写到了vs的扩展工具,这里不再累赘,请查 ...
- 推荐几个对Asp.Net开发者比较实用的工具
推荐几个对Asp.Net开发者比较实用的工具.大家有相关工具也可以在评论区留言,一起努力学习. 工具 1.Visual stdio Productivity Power tool:visual std ...
- 优秀工具推荐:两款很棒的 HTML5 游戏开发工具
HTML5 众多强大特性让我们不需要多么高深技术就能创建好玩的网页游戏,同时证明了开放的 Web 技术能与任何其他在游戏开发中使用的技术竞争.正如标题所说,这篇文章推荐的几款很棒 HTML5 游戏开发 ...
- php语言基础语法与编程工具推荐
php脚本语言,需要在服务器端执行,用浏览器返回HTML结果.在PHP中所有的语法都是如此,用户端是无法修改的,只有浏览权限. 一.php基础语法之输出方法 1.PHP中所有的脚本,可以放在文件中的任 ...
- 小萝贝控机大师工具推荐(一款在PC就能控制手机界面的工具)
在一次写博客的过程中,要截取手机app上的几张图片,然后粘贴到博客里面去,不了解这个工具的时候,我就从手机上截图(使用其他的截图app或者使用手机自己的截图功能),然后再传送到电脑上,然后再放到博文中 ...
- 2015年最佳的12个 CSS 开发工具推荐
CSS所能做的就是改变网页的布局.排版和调整字间距等,但编写 CSS 并不是一项容易的任务,当你接触新的 CSS3 属性及其各自的浏览器前缀的时候,你会发现很伤脑经.值得庆幸的是一些优秀的开发人员提供 ...
- ANDROID开发实用小工具
分享一些 Android开发中的实用小工具,你有发现好工具吗? 来这里分享一下呗 一.find bugs 静态检查工具 http://findbugs.sourceforge.net/ FindBug ...
随机推荐
- aspx页面调用发送邮件验证码(结合前两篇)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs ...
- cookie session URL重写 与考试
状态管理.Cookie.Session.URL重写 HTTP协议:无状态的连接(每次连接都是新的请求)1.隐藏字段 <input type="hidden" name=&qu ...
- javascript除法如何取整
Math.round(x) 四舍五入,如Math.round(0.60),结果为1:Math.round(0.49),结果为0: Math.floor(x) 向下舍入,如Math.floor(0.60 ...
- IIS7.5 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
IIS7.5中将一网站应用程序池托管管道模式改为经典后,网站页面打不开,错误信息: 引用内容 HTTP 错误 404.2 - Not Found由于 Web 服务器上的“ISAPI 和 CGI 限制” ...
- JS-Number
Number 是对原始数据的封装 语法: var myNum=new Number(value);//返回一个新创建的 Number 对象 var myNum=Number(value);//把自己的 ...
- css3中的颜色
1颜色.color:rgba(R,G,B,A) R,G,B是分别代笔红,绿,蓝值是在0到255之间的数也可以是0.0% - 100.0%,A代表的是透明度0到1之间. 2.渐变.background- ...
- LeetCode(131)Palindrome Partitioning
题目 Given a string s, partition s such that every substring of the partition is a palindrome. Return ...
- RBAC用户权限管理数据库设计
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...
- Map中的entry
是java中的一个对象,一般可以通过map.entrySet()得到.1,entrySet实现了Set接口,里面存放的是键值对.一个K对应一个V.2,用来遍历map的一种方法.Set<Map.E ...
- JavaScript 三个组成部分
1.核心(ECMAScript) ECMAScript 仅仅是一个描述,定义了脚本语言的所有属性.方法和对象.其他语言可以实现 ECMAScript 来作为功能的基准,JavaScript 就是这样: ...