随笔分类 - C#
摘要:C#当中Attribute(中文注解属性)已经知道这个概念已经很久很久了,不过悲剧的是在实际项目当中重来没有用它来做过什么东西,以致对它的理解总是很浅薄,更谈不上如何在实际项目中运用它。最近在学习这本书中,看到Filter这一章,突然悟到点感受,先分享如下:感想一:Attribute大部分用在框架设...
阅读全文
摘要:一:为什么需要New约束假设有这样一个需求,它需要在定义一个泛型类时同时实例化T对象。有网友说了:"这还不简单,我立刻给你写一个",刷刷刷,得到以下的例子。public class GenericTester{ private T t; public GenericTester() { t = new T(); }}不好意思,这位粗心的网友就是我。在这里,我犯了一个最大的惯性错误:主观的认为T永远为Object类型,无构造参数。那话又说回来了,这段不带New约束的错误代码会给调用客户带来什么问题呢?假设客户在使用这个泛型类时传递了如下的T型参数:Gener...
阅读全文
摘要:一:从下面的例子开始,理解委托变量本质如上图,Condition是我定义的委托变量。这个委托变量的本质就是地址变量(即C语言当中的指针变量),它保存的是方法的入口地址。当函数的调用者传递实参给这个地址变量(方法实际地址),然后执行代码到if(condition(book))时,我们可以这样形象化理解它:这个过程很像西游记中那集,孙悟空一面与两个童子吵架时,一面元神出窍将人参果树给推倒,然后再回来继续吵,我感觉非常相似。二:为什么要使用委托,它的好处是什么?好处就是将变化的子过程分离出去,从而使相同的代码得到重用。上面的例子,SearchBook方法中除了condition(book)这个条件是
阅读全文
浙公网安备 33010602011771号