扩展方法

转载 2012年03月31日 14:31:44
扩展方法是你能够向现有类型和自定义类型添加方法,而无需创建新的派生类型或者以其他方式修改原始类型

  扩展方法是一个特殊的静态方法,它定义在一个静态类中,但是可以在其他类型(我们要扩展的那个类)的对象上像调用实例方法那样调用,因此通过扩展方法可以在不修改一个类的前提下对一个类进行功能上的补充

  创建扩展方法

  扩展方法和一般静态方法定义类似,惟一的区别是在第一个参数的前面加上this关键字,同时第一个参数的类型也决定了扩展方法可以扩展的类型

  格式

  public static 返回类型 扩展方法名称(this 要扩展的类型sourceObj[,扩展方法参数列表])

  扩展方法的特点

  1:扩展方法是给现有类型添加一个方法

  2:扩展方法通过指定this关键字修饰方法的第一个参数

  3:扩展方法必须声明在静态类中

  4:扩展方法通过对象来调用

  5:扩展方法可以带参数

   实例

  using System;

  using System.Collections.Generic;
  using System.Linq;
  using System.Text;

  namespace _10_ExpandMethod
  {
      public static class AddClass
      {
          //扩展现有String类型
          public static string GetLower(this String str)
          {
              return str.ToLower();
          }
          //扩展自定义的Studengt类型
          public static string GetName(this Student stu,string strName)
          {
              return strName;
          }
      }

    //自定义的Student类型
      public class Student
      { 
        
      }

      class Program
      {
          static void Main(string[] args)
          {
              string strURL = "HTTP://WWW.BAIDU.COM";
              strURL = strURL.GetLower();
              Console.WriteLine(strURL);

              string strName = "小强";
              Student student = new Student();
              Console.WriteLine(student.GetName(strName));
              Console.ReadKey();
          }
      }
  }

  运行效果图

  

相关文章推荐

扩展路由器范围方法(桥接法)

  • 2015年12月28日 15:03
  • 416KB
  • 下载

扩展Format方法示例源码20130722

  • 2013年07月24日 16:18
  • 63KB
  • 下载

Unity3D引擎扩展中的编辑器定制方法

Unity3D的方便之处在于,它很容易地扩展编辑器套件。每款游戏都对加工有着不同的需求,可以快速地以完全集成的方法来构建这些内容并极大地提升开发速度。 目前有大量复杂的软件包提供以基本Unity...

规则引擎-扩展函数和方法

  • 2013年06月07日 14:48
  • 1.19MB
  • 下载

HtmlHelper与扩展方法

ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法 一、一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得   在ASP.Net MV...

在Array原型链上扩展remove,contain等方法所遇到的坑

 相信jser兄弟们肯定会碰到这样一个问题, 在做数组类的操作的时候,会要求删除数组中的一个元素;亦或是判断某值是否存在于这个数组; OK,拿删除数组元素举例,扩展方法为: Array...

扩展方法示例代码

  • 2013年12月20日 23:26
  • 71KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:扩展方法
举报原因:
原因补充:

(最多只允许输入30个字)