ASP.NET/C#
文章平均质量分 79
wind_zsu
这个作者很懒,什么都没留下…
展开
-
.NET的诡异现象 - DataSet无法正确访问带有返回值的存储过程
在.NET中建立一个DataSet来访问存储过程,如果存储过程需要返回一个值的时候,会产生预料之外的结果.如在数据库中存在表TempTable,这个表具有两列:ID(自动增长类型)和Name(varchar(50)类型).同时,另外有一个存储过程InsertData(如下所示),这个存储过程往数据表TempTable中插入一条数据,然后返回新生成的主键ID值.CREATE PRO原创 2006-10-24 21:17:00 · 1539 阅读 · 0 评论 -
AJAX.NET:CascadingDropDown的几点注意
按照AJAX.NET教程提供的步骤,虽然很快就能得到结果。但如果不小心对案例改动了一些地方,就很容易使整个案例无法正常显示。这些小小的改动,在很多时候,是很难注意到其影响的。(1) Web Method的签名一定不能修改public CascadingDropDownNameValue[] GetDropDownContents(string knownCategoryValues, stri原创 2007-08-19 23:11:00 · 1472 阅读 · 0 评论 -
Effective C#笔记(1)
(1) 使用Property的效率问题其实使用Property的效率并不会很差,C#编译器会把一些Property编译成inline的方式,这样和Variable的效率是一样的。即使没有被编译成inline,其效率也只是比Variable差一点,并且没有到足于需要我们考虑的时候(2) 先使用Variable,必要的时候再转成Property这样会引起Binary Compatible原创 2008-04-13 01:19:00 · 799 阅读 · 0 评论 -
Effective C#笔记(2)
C#采用GC(垃圾回收器)来管理内存,GC在它独自的线程上运行。但是GC只管理内存,而不会翻译其它的资源。在C++的时候,我们可以在析构函数里面来释放资源,但在C#中,因为我们没有办法确定对象是什么时候回收的,其析构函数的调用时间并不是可预期的,因此在析构函数里面翻译资源并不是一个很好的办法。另外,如果我们在析构函数里面回收资源,由于GC在回收内存前必须调用其析构函数,因此GC必须另起一个线程来原创 2008-04-19 15:55:00 · 654 阅读 · 0 评论 -
Effective C#笔记(3)
这里主要讲的是C#的语言特征怎么样可以更好地在你的Design里面用到。(1) 定义和实现接口优于继承基类接口定义了行为,而基类定义了对象是什么。使用接口,每个实现的类必须实现所有的方法,属性和事件。而基类可以为不同的子类提供默认的实现,也可以采用Virtual关键词使子类可以重写也可以不重写,也可以用abstract关键词强迫子类必须实现。接口定义了一系列的行为,一旦接口改变了,所有的原创 2008-04-20 21:03:00 · 724 阅读 · 0 评论 -
Effective C#笔记(4)
这章主要讲如何创建二进制组件(Component),组件的Assembly是为了更容易共享组件里面的逻辑,利用夸语言编程的功能,使得发布更容易。减少两个组件之间的的耦合度可以使得组件的发布变得更容易。下面主要就介绍如何创建易用,易发布,易更新的Assembly(Assmeblies)。CLR加载Assembly是根据需要来的,只有使用到的Assembly才会加载进内存里面。首先,CLR会决定什么文原创 2008-05-11 17:02:00 · 828 阅读 · 0 评论