C#Extension Methods 扩展方法使用
2014-11-17 10:25
302 查看
对已知类的方法进行扩展
一、已知类
public class ShoppingCart : IEnumerable<Product> {
public List<Product> Products { get; set; }
public IEnumerator<Product> GetEnumerator() {
return Products.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator() {
return GetEnumerator();
}
}二、方法扩展
一、已知类
public class ShoppingCart : IEnumerable<Product> {
public List<Product> Products { get; set; }
public IEnumerator<Product> GetEnumerator() {
return Products.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator() {
return GetEnumerator();
}
}二、方法扩展
public static class MyExtensionMethods { public static decimal TotalPrices(this IEnumerable<Product> productEnum) { decimal total = 0; foreach (Product prod in productEnum) { total += prod.Price; } return total; } public static IEnumerable<Product> FilterByCategory( this IEnumerable<Product> productEnum, string categoryParam) { foreach (Product prod in productEnum) { if (prod.Category == categoryParam) { yield return prod; } } } }三、实际使用
IEnumerable<Product> products = new ShoppingCart { Products = new List<Product> { new Product {Name = "Kayak", Category = "Watersports", Price = 275M}, new Product {Name = "Lifejacket", Category = "Watersports", Price = 48.95M}, new Product {Name = "Soccer ball", Category = "Soccer", Price = 19.50M}, new Product {Name = "Corner flag", Category = "Soccer", Price = 34.95M} } }; decimal total = products.FilterByCategory("Soccer").TotalPrices();
相关文章推荐
- On Extension Method: 扩展方法该如何使用
- 哈希长度扩展攻击(Hash Length Extension Attack)利用工具hexpand安装使用方法
- C#3.0 中的扩展方法 (Extension Methods)
- C# 中的扩展方法---Extension methods in C#
- cocos2d-x使用extension扩展包的方法
- C#3.0 中的扩展方法 (Extension Methods)
- Extension Methods "点"函数方法 扩展方法
- C#3.0 中的扩展方法 (Extension Methods)
- cocos2d-x使用extension扩展包的方法
- On Extension Method: 扩展方法该如何使用
- c#接口使用方法
- fix-ie5.js扩展在IE5下不能使用的几个方法
- C#中TreeView组件使用方法初步
- C#中TreeView组件使用方法初步
- C#中TreeView组件使用方法初步
- C#中TreeView组件使用方法初步
- NetTiers学习笔记08---Entity层的扩展和EntityDataSource的使用方法
- C# 3.0新特性初步研究 Part2:使用扩展方法_C#教程
- c#接口使用方法