随笔分类 -  .NET

摘要:Mvc 2.0 Preview2 增加了客户端验证的功能,但实际使用中,有同事发现正则表达式验证日期输入时,客户端验证成功,而服务端验证总失败。 检查同事的代码,并没有发现明显的问题:(注,此处正则表达式经过简化)[代码] 运行,在文本框中输入 2009-12-30 ,服务端提示正则表达式匹配失败。 不解,反编译RegularExpressionAttribute,其中IsValidate代码如下... 阅读全文
posted @ 2009-11-11 10:41 沐枫 阅读(548) 评论(0) 推荐(0) 编辑
摘要:由于C#现在还没有提供默认参数的功能,因此,遇到需要默认参数的场合,有时候需要用到 DefaultParameterValue。 我在MVC项目中,就常常会遇到需要为Action指定默认参数的情况。当需要为枚举类型的参数提供默认值的时候,出了问题。在运行的时候,总是提示“The dictionary contains a value of type 'System.Int32', bu... 阅读全文
posted @ 2009-11-10 18:19 沐枫 阅读(744) 评论(0) 推荐(0) 编辑
摘要:关于 字段模板在发生 “绑定到支持动态数据的数据源的数据控件内必须存在 DynamicControl/DynamicField ” 例外时的一种解决方法。 阅读全文
posted @ 2009-01-21 15:32 沐枫 阅读(2572) 评论(2) 推荐(0) 编辑
摘要:随手写了一个小程序,突然遇到一个问题:  在自定义的控件中,override了一个OnKeyDown,用于处理方向键。结果,无效,跟踪调试发现,方向键无法进入函数断点,但其它如数字字母等键可以。  上网查了一下,发现不少人遇到同样的问题。不过不是在自定义控件中,是在窗体中。当然,解决的方法很简单,设置KeyPreview为true就可以了。  自定义控件可没有KeyPreview属性。  为什么方... 阅读全文
posted @ 2008-08-18 16:13 沐枫 阅读(1953) 评论(0) 推荐(0) 编辑
摘要:今天出了一个小问题,倒是令我有些惊讶。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--byte[]data={1,2,3,0,5,6,7,0};intn=Array.IndexOf(data,0,0); 结果,n为-1。 而如果改为:Code high... 阅读全文
posted @ 2007-10-16 16:22 沐枫 阅读(1707) 评论(0) 推荐(0) 编辑
摘要:.NET3.0已经Pre-release了。下面的链接可以下载运行库:http://www.microsoft.com/downloads/details.aspx?FamilyId=8D09697E-4868-4D8D-A4CF-9B82A2AE542D&displaylang=en它的发布日期是: 2006-06-23在该页面下面的Related Resources有SDK下载Windows ... 阅读全文
posted @ 2006-06-29 11:56 沐枫 阅读(2435) 评论(8) 推荐(0) 编辑
摘要:  本文提供了一个方法,让C++源码和C#源码一起编译链接成一个单一的Assembly。   由于C++提供了IJW方法,允许将旧有C++代码也编译成托管代码,因此这篇小文可以用极小的工作量来彻底解决所有C++遗留代码移植到.NET的问题。   这个方法,再加上前次的小文《您也使用托管C++吗?》,就可以把C++遗留代码移植到.NET的所有方法一网打尽了。 阅读全文
posted @ 2006-04-12 17:26 沐枫 阅读(11347) 评论(16) 推荐(1) 编辑
摘要:  转向.NET后,手头上往往仍有旧的模块要重用。也许这些模块是Delphi写的,也许是C/C++写的,或者是其它编程语言……为了能把它们移植到.NET下,或者是在.NET中调用,To be or not to be, that is a question。   在这里,我笔记了几个在工作中遇到的几个场景。不过,这里不包括完全使用C#来重写原来用C++编写的程序这种变态的需求。当你被要求做这种事的时候,请三思而后行……这简直是种非人的折磨。 阅读全文
posted @ 2006-03-31 16:44 沐枫 阅读(22727) 评论(39) 推荐(2) 编辑
摘要:VB.NET的函数允许有返回值,反过来说就是VB.NET的函数可以不返回值。我认为这是一个很大的缺陷。假设有下面一个函数Calc,它的功能是计算n的阶乘: Function Calc()Function Calc(n As Integer) As Integer Dim i As Integer Dim r As Integer = 1 For i = 2 To n r = r * i... 阅读全文
posted @ 2005-11-14 11:41 沐枫 阅读(4274) 评论(30) 推荐(0) 编辑
摘要: .NET 本身提供了强大的脚本引擎,可以直接使用.NET CLR的任何编程语言作为脚本语言,如VB.NET、C#、JScript, J#等等。使用脚本引擎,我们可以动态生成任意表达式、或动态导入任意脚本文件,并在任意时候执行。 经实践发现,我们可以使用至少两种不同的方式在.NET中使用脚本引擎:VsaEngine和CodeDom。 本文介绍如何以CodeDom方式来动态生成可执行代码。 阅读全文
posted @ 2005-11-03 14:52 沐枫 阅读(9365) 评论(9) 推荐(0) 编辑
摘要:关于 int 与 byte[] 的相互转换,Mattias Sjogren 介绍了3种方法。其实应该还有不少方法。在这里,我归纳了包括Mattias Sjogren在内的4种方法。 阅读全文
posted @ 2005-09-08 15:33 沐枫 阅读(55668) 评论(7) 推荐(3) 编辑
摘要: .NET的应用程序配置文件,使用的是XML格式。相对INI文件来说,它的功能要强上不少,而且具有很强的可扩展性。它的缺点是不能直接进行写操作,也就是说,不能直接在程序中修改配置文件的数据(当然不是指不能,不过不是本文讨论的范围)。本文主要目的是探讨如何扩展配置文件,并在其加入各种自定义配置信息。 阅读全文
posted @ 2005-09-06 16:39 沐枫 阅读(4614) 评论(10) 推荐(0) 编辑
摘要: .NET的应用程序配置文件,使用的是XML格式。相对INI文件来说,它的功能要强上不少,而且具有很强的可扩展性。它的缺点是不能直接进行写操作,也就是说,不能直接在程序中修改配置文件的数据(当然不是指不能,不过不是本文讨论的范围)。本文主要目的是探讨如何扩展配置文件,并在其加入各种自定义配置信息。 阅读全文
posted @ 2005-09-06 16:35 沐枫 阅读(19991) 评论(20) 推荐(5) 编辑
摘要:.NET 提供的反射(Reflection)机制可以很方便的加载插件。本文提供一种方法,可以灵活的正确的载入所需的插件。 阅读全文
posted @ 2005-09-06 16:04 沐枫 阅读(6182) 评论(14) 推荐(0) 编辑