c#学习笔记 拓展方法

概念
为现有非静态 变量类型 添加新方法

作用

  1. 提升程序拓展性
  2. 不需要类中重新写方法
  3. 不需要继承来添加方法
  4. 为别人封装的类型写额外的方法

特点

  1. 一定是写在静态类中
  2. 一定是个静态函数
  3. 第一个参数为拓展目标
  4. 第一个参数用this修饰

基本语法:
在静态类中声明的静态方法
访问修饰符 static 返回值 函数名(this 拓展类名 参数名,参数类型 参数名,。。。)
{
//do something
}

namespace 拓展方法
{
    static class Tools
    {
        /// 
        /// 为 int32 类 拓展一个成员方法
        /// 
        /// 使用这个方法的实例化对象(成员方法需要实例化对象来调用)
        /// 参数
        /// 返回调用对象加上参数 i 后的和
        public static int Add (this int value, int i)
        {
            return value + i;
        }
    }
    class Program
    {
        static void Main (string[] args)
        {

            Console.WriteLine (10. Add (5)); //15
        }
    }
}

补充:如果拓展函数名和拓展对象自己有的函数重名,则调用时会调用拓展对象自己的函数,而不是调用拓展的函数。

你可能感兴趣的:(c#学习笔记,c#)