2016-03-18 32 views
0

我有两个名称相同,但参数个数不同的方法(方法重载)。我想将这两个函数合并为一个。这可能吗? 下面是一些代码:将2重载方法合并为一个

private void Fill(string ViewStateName, string type1, string type2, 
        string type3, string type4, string type5, string type6, 
        string val1, string val2, string val3, string val4, string val5, string val6, 
        string VCol1, string VCol2, string VCol3, string VCol4, string VCol5, string VCol6, 
        GridView gv, DataTable table, DataTable tableMore, string Sessiontable, 
        string SessiontableMore, string SessionRestTable, string SessionEditTbl) 
{ 
    //code 
} 

private void Fill(string ViewStateName, string type1, string type2, string type3, 
        string type4, string type5, string type6, string type7, string val1, 
        string val2, string val3, string val4, string val5, string val6, 
        string val7, string VCol1, string VCol2, string VCol3, string VCol4, 
        string VCol5, string VCol6, string VCol7, GridView gv, DataTable table, 
        DataTable tableMore, string Sessiontable, string SessiontableMore, 
        string SessionRestTable, string SessionEditTbl) 
{ 
    //code 
} 
+2

如果你的方法做同样的事情,你可能只是删除第一个方法(以较少的参数个数一个功能),并在大的initalize空缺参数 – Khazratbek

+0

@AakeningByte举了一个例子如何做到这一点。 – Khazratbek

回答

1

你只需要定义可选参数

private void Fill(string ViewStateName, string type1, string type2, string type3, 
       string type4, string type5, string type6, string type7, string val1, 
       string val2, string val3, string val4, string val5, string val6, 
       string val7, string VCol1, string VCol2, string VCol3, string VCol4, 
       string VCol5, string VCol6, string VCol7, GridView gv, DataTable table, 
       DataTable tableMore, string Sessiontable, string SessiontableMore = "", 
       string SessionRestTable = "", string SessionEditTbl = "") 
{ 
    //code 
} 
+0

非常感谢您的先生,现在它工作。 –

+0

更新了答案,使用空字符串“”而不是 –

+0

它已经工作先生...... –