C# 3.0中扩展方法怎么用
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍了C# 3.0中扩展方法怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Extension Methods 使用扩
千家信息网最后更新 2024年12月12日C# 3.0中扩展方法怎么用
这篇文章主要介绍了C# 3.0中扩展方法怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
Extension Methods 使用扩展方法,使用的时候需要注意的地方
1.C# 3.0新特性中扩展方法所属的类必须为静态非泛型类,扩展方法也是静态方法
2.***个参数为被扩展的类型实例,并且必须用this进行修饰
3.第二个参数开始对对应被扩展类型实例所传递的参数列表,即扩展类型实例
传递的***个参数对应扩展方法定义的第二个参数,依次类推
4.C# 3.0新特性中被扩展类型实例可像调用类型内部定义的实例方法一样调用扩展方法
这里定义一个扩展方法:
public static class Extensions { public static bool Compare(this Customer customer1, Customer customer2) { if (customer1.CustomerId == customer2.CustomerId && customer1.Name == customer2.Name && customer1.City == customer2.City) { return true; } return false; } }
其中Compare***个参数用this修饰
完整源码例子,这个例子主要查询新建的newCustomer是否在列表List中
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace NewLanguageFeatures { public class Customer { public int CustomerId { get; private set; } public string Name { get; set; } public string City { get; set; } public Customer(int Id) { CustomerId = Id; } public override string ToString() { return Name + "\t" + City + "\t" + CustomerId; } } public static class Extensions { public static bool Compare(this Customer customer1, Customer customer2) { if (customer1.CustomerId == customer2.CustomerId && customer1.Name == customer2.Name && customer1.City == customer2.City) { return true; } return false; } } class Program { static void Main(string[] args) { var customers = CreateCustomers(); var newCustomer = new Customer(10) { Name = "Stuart Glasson", City = "Oxford" }; foreach (var c in customers) { if (newCustomer.Compare(c)) { Console.WriteLine("The new customer was already in the list"); return; } } Console.WriteLine("The new customer was not in the list"); } static List< Customer> CreateCustomers() { return new List< Customer> { new Customer(1) { Name = "Alex Roland", City = "Berlin" }, new Customer(2) { Name = "Oliver Cox", City = "Marseille" }, new Customer(3) { Name = "Maurice Taylor", City = "London" }, new Customer(4) { Name = "Phil Gibbins", City = "London" }, new Customer(5) { Name = "Tony Madigan", City = "Torino" }, new Customer(6) { Name = "Elizabeth A. Andersen", City = "Portland" }, new Customer(7) { Name = "Justin Thorp", City = "London" }, new Customer(8) { Name = "Bryn Paul Dunton", City = "Portland" } }; } }
感谢你能够认真阅读完这篇文章,希望小编分享的"C# 3.0中扩展方法怎么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
方法
参数
实例
类型
篇文章
C#
例子
特性
静态
价值
兴趣
同时
地方
所属
时候
更多
朋友
源码
知识
编带
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浙江网络技术咨询制品价格
美国计算机数据库
linux服务器安全防护
net的数据库访问技术
静安区个性化软件开发厂家直销
什么是单板软件开发
政府网络安全宣传周活动计划
嵌入式软件开发买什么板子
软件开发是什么工作类型
网络安全精品单位
头条软件开发怎么样
1 x网络安全风险管理证书
甘肃爱校园网络安全密钥
oracle数据库12c安装
数据资源管理软件开发
支付宝网络技术有限公司充值
惠普服务器加装linux
信息和网络安全工程师前景
手机趣头条服务器太忙
计算机网络技术对工程
查询服务器是哪个运营商
金蝶服务器版本怎么查询
wow数据库 2.43
海地软件开发原理
广州嵌入式软件开发可信吗
当前服务器好像开小差了
千锋网络安全笔记全
深圳房多多网络技术有限公司
软件开发文档岗位
华为网管软件开发