摘要:
这篇博客将介绍IEnumerable和IQueryable之间的区别。 1. IQueryable是继承自IEnumerable接口的。所以IEnumerable能做的,IQueryable都能做。 2. 先看代码,然后再讲两者之间的区别。 这段代码是去查询并找出DinnerID>0的所有Dinne 阅读全文
摘要:
什么是Attribute?我们为什么需要Attribute? Attribute是一段附加信息,该信息可以附加在方法,类,名称空间,程序集上。例如下面的例子中,将Method1设为“Obsolete”属性。 我们在代码中调用Method1,这个方法, 简单的说,Attribute其实没有做任何代码相 阅读全文
摘要:
C#中的readonly和const两个关键字都可以用来定义系统变量,那两者之间有什么区别呢? 1. const变量赋值后,就不可以对其进行修改。且在定义时就需要给它赋值,使用const修饰的变量是static的。可以使用YourClass.ConstantName的方式进行访问; 2. reado 阅读全文
摘要:
当需要从一个方法中有多个返回值时可以考虑使用out和ref这两个关键字。下面通过代码的方式来说明两者的用法和不同之处。 例如现在有一个如下的Add方法,Add方法只有一个返回值。 把这个例子修改的复杂点,现在需要有4个返回值。这时候out关键字就派上用场了。 上述代码中,我想将计算后的add,sub 阅读全文
摘要:
.NET Framework中System.ComponentModel.DataAnnotations提供了很多属性来验证对象的属性。可以在C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\{ 阅读全文
摘要:
在WPF中实现带CheckBox的ComboBox控件,让ComboBox控件可以支持多选。 将ComboBox的ItemsSource属性Binding到一个Book的集合, 显示效果如下: 为了让ComboBox支持CheckBox,和上面代码一样,修改ComboBox的DataTemplate 阅读全文
摘要:
首先介绍一下内存泄漏(Memory Leak)的概念,内存泄露是指程序中已动态分配的堆内存由于某种原因未释放或者无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 最近在使用WPF WebBrowser时,就遇到了Memory Leak的问题。 在主窗体上通过一个按钮点击事件 阅读全文
摘要:
这篇博客将介绍如何在IIS中承载NetTcpBinding的服务。 1. 首先准备服务代码。 Contract Service Web.Config SVC 配置IIS环境,需要将Non-HTTP Activation开启, 下一步创建一个WebSite来承载WCF服务, 1). 在Advanced 阅读全文
摘要:
这篇博客将介绍如何使用Inno Setup创建一个软件安装程序。 Inno Setup官网:http://www.jrsoftware.org/isinfo.php。 可以下载到最新的Inno Setup,目前最新的版本5.5.9. Inno Setup的安装程序支持非常广泛,从Windows 20 阅读全文
摘要:
为了防止程序发布后被一些“坏人”破解,开发者通常会对自己的代码进行混淆。这篇博客将介绍一款使用很广,并且混淆效果也不错的工具ConfuserEx。 新建一个C# 控制台程序,HelloWorldApp 目前有很多.NET的反编译工具,例如ILSpy,JustDecompile.下面使用ILSpy对H 阅读全文