扩展方法

     我们知道,一但一个类型(例如:类、接口、结构、枚举或者委托)被定义然后编译进一个.net程序集后,它的定义工作就应该说是结束了。

为该类型添加成员。更新成员或者删除成员,唯一的方法就是修改类型的定义代码。然后重新编译更新程序集。

(更高级的方法,例如使用命名空间system.Reflection.Emit下的类对已编译的类型做运行时动态构造)

    在C#3.0中,可以把方法定义成为扩展方法

扩展方法允许现存已编译的方法类型(例如:类、接口、结构、枚举或者委托)和当前即将编译的类型在不需要被直接更接更新的情况下获得功能上的扩展。

 

扩展方法。

     必须氢方法定义在静态类中(因此第一个扩展方法也必须是静态的)

     护展方法都需要使用关键字this对第一个调用的参数(并仅对第一个参数)

     第一个扩展方法只可以被内存中正解的实例调用。或都通过所处一静态类被调用

 

ExpandedBlockStart.gif 代码

    
// 必须为static类
     static   class  Program
    {
        
static   void  Main( string [] args)
        {
            Console.WriteLine(
"   fun with Extension Methods  " );
            
int  myInt  =   123 ;
            Console.WriteLine(myInt.reverseDigits());
           
        }
      
// 本方法任何 [整数] 返回倒置,
         public   static   int  reverseDigits( this   int  i) 
        {
            
// 把int转成字符串,再转成单了字符数组
             char [] di  =  i.ToString().ToCharArray();
            Array.Reverse(di);
            
string  newdigits  =   new   string (di);
            
return   int .Parse(newdigits);
        }
    }

 

 

转载于:https://www.cnblogs.com/and/archive/2010/03/10/1682868.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值