随笔分类 -  C#技巧

摘要:关于Microsoft.CSharp.RuntimeBinder.RuntimeBinderException的异常一般来自于两种,第一种:Predefined type 'Microsoft.CSharp.RuntimeBinder.Binder' is not defined or import... 阅读全文
posted @ 2014-10-15 15:29 陆敏技 阅读(11629) 评论(2) 推荐(1) 编辑
摘要:如果: dynamic expando = new ExpandoObject(); d.SomeProp=SomeValueOrClass; 然后,我们在控制器中: return new JsonResult(expando); 那么,我们的前台将会得到: [{"Key":"SomeProp", "Value": SomeValueOrClass}] ... 阅读全文
posted @ 2014-04-19 13:37 陆敏技 阅读(4312) 评论(0) 推荐(3) 编辑
摘要:一:概述1:想查看程序运行结果,又不想启动 VS 怎么办?2:想测试下自己的 C# 能力,不使用 VS 的智能感知,怎么办?那么,我们有一个选择,使用神器 LINQPad(http://www.linqpad.net/)。二:入门1:使用 C# Statement直接在 1 处选择,然后在 2 处写 C# 代码,注意,语法中 Dump() 一下,就是在 3 处的结果窗口进行显示;2:引入内、外部(第三方) DLL 以及 引用命名空间等接下来,我们一定会问,在编写 C# 代码的过程中,我们肯定不会只使用 core dll,还有可能使用其它的或者是自己写的 DLL,该怎么办呢?如下,先选中:再:两 阅读全文
posted @ 2014-02-20 12:45 陆敏技 阅读(14579) 评论(6) 推荐(0) 编辑
摘要:一:频繁出现的代码可以使用委托类型的 AOP类似以下代码在控制器中(在Domain中也有若干)重复出现:try { if (!string.IsNullOrEmpty(categoryId)) { var model = new ExerciseCategory(); model.ParentId = parentId; this._exerciseCategoryDal.Update(model); } } catch { return 0; }r... 阅读全文
posted @ 2014-02-19 13:22 陆敏技 阅读(1005) 评论(0) 推荐(0) 编辑
摘要:一:C# CODING 技巧 1:TODO 然后 CTRL + W + T,打开任务列表,选中 Comments,就会显示所有待做的任务 2:打开所在的文件夹 右键单击任何一个文件选项卡, 选择"打开所在的文件夹",或在 Solution Explorer 的文件上面点右键; 3:比对同一个文件 鼠标向下拖动红框内的图标。 4:按意愿编程 我把它定义为:按意... 阅读全文
posted @ 2013-09-13 10:18 陆敏技 阅读(7156) 评论(6) 推荐(7) 编辑
摘要:一:Reshaper是什么即便是那些整天攻击 .NET 和 C# 的人,也常常不得不承认 Visual Studio 确实是个够强大的 IDE,除非他认为更少的 IDE 功能和命令行调试才是更强大的。可是,即便如此,仍阻止不了一些第三方的个人和厂商开发出一些插件来让 VS 变得更强大。Reshape... 阅读全文
posted @ 2013-08-28 08:54 陆敏技 阅读(105469) 评论(70) 推荐(55) 编辑
摘要:异步、多线程、任务、并行编程之一:选择合适的多线程模型本篇概述:@FCL4.0中已经存在的线程模型,以及它们之间异同点;@多线程编程模型的选择。1:异步、多线程、任务、并行的本质这四个概念对应在CLR中的本质,本质都是多线程。异步,简单的讲就是BeginInvoke、EndInvoke模式,它在CLR内部线程池进行管理;多线程,体现在C#中,可以由类型Thread发起。也可以由ThreadPool发起。前者不受CLR线程池管理,后者则是。FCL团队为了各种编程模型的方便,还另外提供了BackgroundWorker和若干个Timer,基本上它们都是ThreadPool的加强,增加了一些和调用者 阅读全文
posted @ 2012-07-18 10:25 陆敏技 阅读(6734) 评论(2) 推荐(6) 编辑
摘要:怕忘记,重新记录一下。有一种提高自己编程能力的好办法,就是看看.net framework的源码是如何写的?我们在追踪bug的时候,也往往需要追踪到.net framework的源码中去。按照如下方法设置vs2010,即可追踪到.net framwork的源代码中去。可以看出,我将pdb文件放在了d:\msSource\MicrosoftPublicSymbols目录下面,这样在调试的时候,vs会自动去该目录下面找pdb文件。 我们可以看看这个目录下的文件 调试源码后,我们会找到一些平时不怎么写的东西。比如我追踪 IEnumerable<int>的扩展方法Sum,可以看到 如下的代 阅读全文
posted @ 2011-04-02 13:40 陆敏技 阅读(4648) 评论(3) 推荐(3) 编辑
摘要:托管代码中的字符串是一类特殊的对象,它不可被改变的,每次使用 System.String 类中的方法之一或进行运算时(如赋值、拼接等)时,都要在内存中创建一个新的字符串对象,也就是为该新对象分配新的空间。这就带来两个问题:1:原来的字符串是不是还在内存当中?2:如果在内存当中,那么机密数据(如密码)该如何保存才足够安全?先来看第一个问题:代码在Method1处打上断点,让VS执行到此处,在即时窗口中运行命令:.load sos.dll 和 !dso,如下:打开调试中的内存查看窗口,定位到019db820(由!dso得到)。由于此时还没有进入到Method1,所以内存当中不存在字符串“lumin 阅读全文
posted @ 2011-01-28 09:36 陆敏技 阅读(7006) 评论(14) 推荐(12) 编辑
摘要:日常工作中,需要为程序集提供统计分析: 1:程序集方法数; 2:开发人员数目及各自所开发或REVIEW的方法数; 3:测试中,被标注有BUG的数目; 4:直接查看方法的IL代码; 鉴于以上统计的需要,特开发本EXE。 1:关于特性Attribute的知识补充 "Attribute是一种可由用户自由定义的修饰符(Modifier),可以用来修饰各种需要被修饰的目标"。它的作用是为它们的修饰目标追加上一些额外的信息——比如"这个类是我写的"或者"这个函数以前出过问题"等等。 它跟注释的区别是:注释是对程序源代码的一种说明,主要目的是给人看的,在程序被编译的时候会被编译器所丢弃,因此,它丝毫不会影响 阅读全文
posted @ 2010-12-29 11:48 陆敏技 阅读(4849) 评论(19) 推荐(2) 编辑
摘要:即使是做网络应用,在断线情况下,也需要考虑数据的本地存储。在SQLite出现之前,数据量大的情况下,我们一直使用ACCESS,数据量小,则文件存储。ACCESS不支持事务原子性,在断电情况下(这种情况总是会发生)会导致数据很难恢复。一:安装SQLITE,是一款轻型的数据库,是遵守ACID的关联式数据... 阅读全文
posted @ 2010-12-19 10:55 陆敏技 阅读(32464) 评论(53) 推荐(21) 编辑
摘要:基于如下的几个理由,需要为应用程序提供多个版本: 1:应用程序有体验版和完整功能版; 2:应用程序测试过程中需要完成一些自动化的操作; 1:提供体验版 关于第一点,所谓体验版也就是完整版的一个缩小版。即出于某种理由,不对用户开放应用程序的全部功能。 假设我的应用程序共有两类功能。第一类功能属于单机版,而完整版还提供在线功能。那么,在功能上,我需要定制两个属性"ONLINE"和"OFFLINE"。在体验版中,我只开放"OFFLINE"功能。 要实现此目的,我不想提供两套应用程序,而是想通过最小设置,就能为一个应用程序输出两个发布版本。这 阅读全文
posted @ 2010-11-30 09:24 陆敏技 阅读(4191) 评论(12) 推荐(2) 编辑
摘要:本文摘要: 1:测试要求 2:在VS中运行自动化测试 3:脱离VS进行自动化测试 在上一文中《C#借助API实现黑盒自动化测试工具的编写》(http://www.cnblogs.com/luminji/archive/2010/11/03/1867730.html),我们使用WINDOWS API来实现自动化测试工具的编写。但是,这种办法在大型软件测试的时候,需要很细致和繁杂的工作。在VS2010出来以后,我们不妨看看Code UI Automation这个好东西。关于Code UI Automation已经有人介绍过很多,本文要说明的重点如下: 1:使用Code UI Automation来 阅读全文
posted @ 2010-11-18 09:30 陆敏技 阅读(11298) 评论(14) 推荐(4) 编辑
摘要:C#借助API实现黑盒自动化测试工具的编写本文代码下载(VS2010开发):http://download.csdn.net/source/2796362本文摘要:1:一个简单的例子 1.1:EnumChildWindows介绍 1.2:主要源码2:难点:如何获取指定的控件句柄 2.1:使用SPY+... 阅读全文
posted @ 2010-11-03 09:17 陆敏技 阅读(16203) 评论(17) 推荐(9) 编辑
摘要:C#笔记31:本地化或多语言支持 本章概要: 1:本地化解释 2:多语言支持 3:疑问的提出“非窗体,如控件的多语言支持” 1:本地化解释 本地化对我个人来说,更多的用处是开发多语言版本。更多的本地化内容,参考http://msdn.microsoft.com/zh-cn/library/h6270d0z.aspx。 2:多语言支持 多语言支持有很多种方法来做到,很主流的一种做法是提... 阅读全文
posted @ 2010-10-28 10:55 陆敏技 阅读(7697) 评论(1) 推荐(0) 编辑
摘要:本文源程序下载:http://download.csdn.net/source/2444494 我的项目当中,考虑到安全性,需要为每个客户端分发一个数字证书,同时使用数字证书中的公私钥来进行数据的加解密。为了完成这个安全模块,特写了如下一个DEMO程序,该DEMO程序包含的功能有: 1:调用.NET2.0的MAKECERT创建含有私钥的数字证书,并存储到个人证书区; 2:将该证书导出为pfx文件... 阅读全文
posted @ 2010-10-28 09:55 陆敏技 阅读(18252) 评论(3) 推荐(2) 编辑

Web Counter
Coupon for Contacts
点击右上角即可分享
微信分享提示