ASP.NET方法重载在ASP.NET中允许我们在一个类中定义多个方法名相同、方法间参数个数和参数顺序不同的方法,对于参数个数不同或者参数列表不同的情况我们称之为参数列表不同。方法重载是指在同一个类中方法同名,参数不同,调用时根据实参的形式,选择与他匹配的方法执行操作的一种技术。

ASP.NET方法重载

在C#中,语法规定同一个类中两个或两个以上的方法可以用同一个名字,如果出现这种情况,那么该方法就被称为重载方法.当一个重载方法被调用时,C#回根据调用该方法的参数自动调用具体的方法来执行.

决定方法是否构成重载有以下几个条件:

◆ 在同一个类中;

◆ 方法名相同;

◆ 参数列表不同。

例如下面的代码:

  •  
  • C# 代码   复制
  • 
    
            public void Show()//(1)
            {
                Console.WriteLine("Nothing");
            }
            public void Show(int number)//(2)
            {
                Console.WriteLine(number);
            }
            public int Show(int number)//(3)
            {
                Console.WriteLine(number);
                return number % 5;
            }
    
    		
  • 说明

    对于上面的代码,(1)没有参数,(2)使用了一个int类型的参数,(1)和(2)之间就构成了重载。(2)与(3)相比仅仅返回值不同,虽然重载不关心返回值的不同,但是在C#中不允许存在方法名和参数列表相同、返回值不同的方法,所以(2)和(3)不能同时存在于代码中,(3)如果不注释掉上面的代码是没有办法通过编译的。

    其实,我们非常熟悉的Console类之所以能够实现对字符串进行格式化的功能,就是因为它定义了多个重载的成员方法:

  •  
  • 
     public static void WriteLine();
     public static void WriteLine(int);
     public static void WriteLine(float);
     public static void WriteLine(long);
     public static void WriteLine(uint);
     public static void WriteLine(char);
     public static void WriteLine(bool);
     public static void WriteLine(double);
     public static void WriteLine(char[]);
     public static void WriteLine(string);
     public static void WriteLine(Object);
     public static void WriteLine(ulong);
     public static void WriteLine(string,Object[]);
     public static void WriteLine(string,Object);
     public static void WriteLine(char[],int,int);
     public static void WriteLine(string,Object,Object);
     public static void WriteLine(string,Object,Object,Object);
    		
  • 方法重载的好处

    方法重载可在不改变原来方法的基础上,新曾功能。方法重载提供了函数可扩展的能力。