预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

w页码,1/4(W)张张张雪张雪雪雪飞飞飞飞要走的远,就要一起走博客园首页新闻新随笔联系管理订阅随笔-45文章-0评论-380《《《ProASP.NETMVC3Framework》》》学》学学学习笔记习笔记习笔记习笔记之六之六之六之六【【【【C#部分特性部分特性】】】】本次笔记分为两个部分:C#语言的部分特性和MVC3里面提供的新视图引擎Razor的@句法。今天晚上的笔记是第一部分:C#的部分特性(我主要选择扩展方法,泛型委托,Lambda表达式等内容,选择这些是因为我对这几个部分不是很熟悉)。如果你已经对C#2.0及3.0里面出现的几个特性比较了解,那你完全可以忽略这部分直接去看下次的关于Razor的笔记。一,扩展方法(ExtensionMethods)1.扩展方法给我们提供了一种很便捷的方式,通过这种方式我可以给那些不是我们自己创建的类(如第三方组件里面的)或是我们不能直接修改的类添加方法。下面是一个关于购物车的例子,我们定义一个ShoppingCart类,如下所示:Email:mszhangxuefei@foxmail.comQQ群:198717740腾讯微博:http://t.qq.com/mszhangxuefeipublicclassShoppingCart{昵称:GabrielZhangpublicList<Product>Products{get;set;}园龄:1年6个月}粉丝:133publicclassProduct关注:14{+加关注publicintProductID{get;set;}publicstringName{get;set;}publicstringDescription{get;set;}publicdecimalPrice{get;set;}随随随笔随笔笔笔分分分分类类类类(46)publicstringCategory{set;get;}ASP.NETMVC(33)}C#.NET点滴F#Lucene.Net/SolrNetMono(3)这个类简单吧,呵呵。现在我们需要知道购物车里面Products的总价,但是我们不能去直接更改ShMyBatis.NEToppingCart类,这种情况的确是存在的,比如这是第三方的组件,我们没有源码。这个问题显然符OpenSourceProjects合定义扩展方法的条件,所以我们可以这样做:Scala/LiftWindowsPhone工作点滴(4)算法点滴publicstaticclassMyExtensionMethods系统架构{兴趣点滴(3)publicstaticdecimalTotalPrices(thisShoppingCartcartParam)学习点滴(3){decimaltotal=0;foreach(ProductprodincartParam.Products)积积积分积分分分与与与与排名排名排名排名{积分-42780total+=prod.Price;排名-2562}returntotal;}最新最新最新评论最新评论评论评论}1.Re:《ProASP.NETMVC3Framework》学习笔记之三十一【模型验证】引用builderman:写得很好。我觉得算是目前来说,this关键字是必须的,用this指示我们要对哪个类添加方法(称为这个类的扩展方法),后面也可以跟最好的mvc3教程了呵呵,在方便我自己的同时也能给初学的朋友一点帮助,我非常乐意。其实园子里有很多其他类型的参数。这里的参数就是ShoppingCart类型。因为我们计算就是购物车的总价。实现的方法也很简单,遍历购物车里面的商品,把价格累加。针对MVC某一方面的博文都非常好,我只是把书里面的知识整理了下,:-)注意:扩展方法并不是让我们通过这样一种规则来打破给类定义方法,属性,字段等,所以我们定义--GabrielZhang类的成员的时候一般都是在类里面定义。扩展方法只不过让我们可以在必要的时候扩展类的功能,而《》学习笔2.Re:ProASP.NETMVC3Framework且仅仅使用的是你能访问的成员来对其进行扩展。下面看看如何使用上面的定义的扩展方法,如下所记之三十一【模型验证】示:写得很好。我觉得算是目前来说,最好的mvc3教程了--builderman《》学习笔3.Re:ProASP.NETMVC3FrameworkusingSystem;记之四【领域模型介绍】usingSystem.Collections.Generic;引用肥象:引用领域元素据元数(Modelmetadata):classPr