两个实用的工具推荐: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 ...
随机推荐
- Java Reflection
Java语言的反射机制 1. Java反射的含义:获取应用中正在运行的Java对象. 2. Java反射机制: 在运行的程序中,对于任意的类,都可以知道这个类的属性.方法以及构造函数,对于任意对象都可 ...
- asp.net mvc 自定义身份验证 2
控制成员角色 [Authorize(Rroles="Administator,SuperAdmin")] public class StoreManagerController:C ...
- C#范型不会用,求助~
using Dapper; using Dapper.Contrib.Extensions; using System.Data.SqlClient; using System.Configurati ...
- Jquery实现文字向上逐条滚动
直接上代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...
- 不同包中继承关系访问protected内部类问题
有两个包pack1和pack2,pack1中是父类,pack2中子类继承自pack1中的父类.这里主要探索一下子类访问父类中protected内部类的问题: 第一个类: package pack1; ...
- 【Java学习笔记】函数的可变参数
package p2; public class ParamterDemo { public static void main(String[] args) { int sum1 = add(4,5) ...
- textarea 在浏览器中固定大小和禁止拖动
HTML 标签 textarea 在大部分浏览器中只要指定行(rows)和列(cols)属性,就可以规定 textarea 的尺寸,大小就不会改变,不过更好的办法是使用 CSS 的 height 和 ...
- 【13-Annotation】
Annotation 5个基本的Annotation •@Override •@Deprecated •@SuppressWarnings •@SafeVarargs •@FunctionalInte ...
- bootstrap中table的colspan不起作用
bootstrap中table的colspan不起作用,即在不指定宽度的条件下,各个td宽度不符合colspan指定的宽度. 添加table0layout:fixed后显示正常. table{ tab ...
- 【开发环境】JAVA 环境变量批处理
@echo off set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environmen ...