(二)初学C# 3.0之扩展方法

本文介绍了C#3.0中的扩展方法概念及其实现方式,通过具体示例展示了如何为现有类型添加额外的方法,并遵循一些最佳实践原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(二)初学C# 3.0之扩展方法
Blog: http://blog.163.com/tesonlau968@126
扩展方法(Extension methods)使为已存在的类型添加额外的方法成为可能而不影响原有的类型。扩展方法是一些静态方法并只能在静态类中声明,在方法的第一个参数前用this作为修饰符,表明此方法为扩展方法,调用方式类似于普通的调用实例方法。
using System;
namespace Teson
{
  public static class ExtensionForString  //静态类
  {
     public static int ToInt32(this string s)  //扩展方法
    {
      return Int32.Parse(s);
    }
    public static double ToDouble(this string s)  //扩展方法
    {
      return Double.Parse(s);
    }
 }
  public static class ExtensionForInt  //静态类
  {
    public static int Abs(this int i)  //扩展方法
    {
        return Math.Abs(i);
    }
  }

  public class Test
  {
    public static void Main()
    {
      string a="100";
      int b=a.ToInt32();  //调用扩展方法,相当于ExtensionForString.ToInt32(s);
      double c=a.ToDouble(); //调用扩展方法,相当于ExtensionForString.ToDouble(s);
      int d=-8;
      int e=d.Abs();       //调用扩展方法,相当于ExtensionForInt.Abs(d);
      Console.WriteLine(b);
      Console.WriteLine(c);
      Console.WriteLine(e);
      Console.ReadLine();
    }
  }
}
使用扩展方法的一些原则和建议:
1.实例本身的方法优先于扩展方法,即原类型存在与所扩展的方法相同,则优先调用实例的方法而不调用扩展方法。
2.内层命名空间的扩展方法优先于外层命名空间的扩展方法。
3.对同一类型进行扩展的扩展方法应该集中放在一个静态类中(如上述源码所示),而不应该把所有类型的扩展方法都放置于同一个静态类中。
4.扩展方法应该在实例方法无法满足需求时才使用。

 
源码下载地址:http://download.csdn.net/source/295098 功能简介: 1信息管理模块: 该功能模块包含新建通讯录、增加记录、修改记录、删除记录和删除通讯录五个子功能 1.1新建通讯录:一个用户可以创建1~5本通讯录 1.2增加记录:打开一本通讯录后,可以进行添加新记录 1.3修改记录:对已存在的记录可进行修改更新 1.4删除记录:若已存在的记录不再需要,可进行删除 1.5删除通讯录:可对已存在的通讯录进行整本删除,但至少保留一本通讯录 2信息查询模块: 该功能模块包含选择通讯录、精确查询、模糊查询、分组查看和查看全部五个子功能 2.1选择通讯录:若用户用多本通讯录,可选取其中一本作为当前通讯录,可对其进行各种操作 2.2精确查询:提供四种查询方式(姓名、电话、手机和QQ号) ,需输入待查记录的完整信息进行查询 2.3模糊查询:提供四种查询方式(姓名、电话、手机和QQ号) ,输入待查记录的关键字进行查询,结果为含有关键字的记录 2.4分组查看:用于查看指定同一分组(小学同学、中学同学、大学同学、合作伙伴、亲人、朋友、同事、其它)的记录 2.5查看全部:查看当前通讯录的全部记录 3用户管理模块: 该功能模块包含注册新用户、用户登录、注销登录、修改资料和删除本用户五个子功能 3.1注册新用户:注册一个新的用户名,用于登录使用本系统,用户名经注册便不能修改,密码需为字母、数字或两者的组合且长度在6~16位之间 3.2用户登录:用户需提供合法用户名和密码登录本系统 3.3注销登录:用户登录后,可用此功能关闭通讯录而无须退出本系统 3.4修改资料:用户可修改注册时填写的个人资料,但用户名不能修改 3.5删除本用户:用于删除用户的所有资料,包括个人资料和所有通讯录,删除后此用户便不存在,此功能敬请用户慎用 4系统管理模块: 该功能模块包含关于、使用帮助和退出系统三个子功能 4.1关于:查看本系统的版本和作者信息 4.2系统设置:用于设置自动登录和背景音乐开关 4.3使用帮助:显示使用本系统的简要说明以帮助新用户迅速熟悉并掌握本系统的使用方法 4.4退出系统:退出本系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值