重载函数 IN ASP.NET C#
overloading function IN ASP.NET C#
我有一个包含 7 个参数的函数名称 "Fill"。当我用 7 个参数调用 "Fill" 时没问题,但是当我只调用 5 个或 6 个参数时它出错(No overloaded for method "Fill" take ..arguments)。我需要多次调用这个函数。
private void Fill(string val1,string val2,string val3, string val4, string val5, string val6,string val7)
{
//code
}
protected void Add1_Click(object sender, EventArgs e)
{
---------
Fill("val1","val2","val3","val4","val5","val6","val7")
}
protected void Add2_Click(object sender, EventArgs e)
{
---------
Fill("val1","val2","val3","val4","val5","val6")
}
您可以通过创建另一个具有相同名称但不同参数的方法来重载该方法。例子
public int Add(int a, int b, int c)
public int Add(int a, int b)
public int Add(int a, int b, int c, int d)
或者,您可以使用默认值:
public int 添加(int a, int b=9, int c=10)
一种选择是将参数数组而不是单个参数传递给函数。例如:
private void Fill(params string[] values)
{
// Code
}
然后您可以使用所需的任意数量的参数调用它:
Fill("val1");
Fill("val1", "val2", "val3");
Fill("val1","val2","val3","val4","val5","val6","val7");
我有一个包含 7 个参数的函数名称 "Fill"。当我用 7 个参数调用 "Fill" 时没问题,但是当我只调用 5 个或 6 个参数时它出错(No overloaded for method "Fill" take ..arguments)。我需要多次调用这个函数。
private void Fill(string val1,string val2,string val3, string val4, string val5, string val6,string val7)
{
//code
}
protected void Add1_Click(object sender, EventArgs e)
{
---------
Fill("val1","val2","val3","val4","val5","val6","val7")
}
protected void Add2_Click(object sender, EventArgs e)
{
---------
Fill("val1","val2","val3","val4","val5","val6")
}
您可以通过创建另一个具有相同名称但不同参数的方法来重载该方法。例子
public int Add(int a, int b, int c)
public int Add(int a, int b)
public int Add(int a, int b, int c, int d)
或者,您可以使用默认值:
public int 添加(int a, int b=9, int c=10)
一种选择是将参数数组而不是单个参数传递给函数。例如:
private void Fill(params string[] values)
{
// Code
}
然后您可以使用所需的任意数量的参数调用它:
Fill("val1");
Fill("val1", "val2", "val3");
Fill("val1","val2","val3","val4","val5","val6","val7");