zoukankan      html  css  js  c++  java
  • 扩展方法

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

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

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

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

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

    扩展方法。

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

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

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

     

    代码

        
    //必须为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);
            }
        }
     
  • 相关阅读:
    如何提高送测版本的质量(开发篇)?
    web安全测试资料
    如何带领新人
    华为新人180天详细培养计划
    畠山芳雄:新员工培训的十三条黄金法则
    BUG级别定义标准
    EF-Linq将查询结果转换为List<string>
    在差距中进步,在记录中进步,
    Error: [ng:areq] Argument 'xxxx' is not a function, got undefined
    Book-编程珠玑-第一章
  • 原文地址:https://www.cnblogs.com/and/p/1682868.html
Copyright © 2011-2022 走看看