我有兩段代碼。一個(gè)它正在工作,另一個(gè)沒有,我真的不知道 c# 和谷歌并沒有幫我弄清楚太多。希望有人可以解釋是什么問題。編輯- d 是public delegate List<CustomObj> SearchFoo(string a, string b);為什么這段代碼有效d = foo;private List<CustomObj> foo(string a, string b) { ... }而這個(gè)沒有?d = foo;private List<CustomObj> foo(string a, string b, string c) { ... }第一段代碼運(yùn)行沒有問題,當(dāng)調(diào)用 foo 函數(shù)時(shí)a = "",b = null我不知道為什么要這樣做。第二段代碼返回錯(cuò)誤:Error 33 No overload for 'foo' matches delegate 'Core.Panels.ListFooPannels.SearchFoo' C:\Foo\Functionalities\Foo\FooForm.cs該項(xiàng)目是在 Visual Studio 2008 中開發(fā)的。
1 回答

海綿寶寶撒
TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
您的委托需要兩個(gè)參數(shù):
public delegate List<CustomObj> SearchFoo(string a, string b);
一個(gè)字符串 A 和一個(gè)字符串 B
d = foo;
private List<CustomObj> foo(string a, string b, string c)
{ ... }
當(dāng)你這樣做時(shí),你在 foo 中有 3 個(gè)參數(shù),但你的委托只需要 2 個(gè),這就是你得到異常的原因。
- 1 回答
- 0 關(guān)注
- 127 瀏覽
添加回答
舉報(bào)
0/150
提交
取消