在我尝试添加 bool NetworkAvailable = true
部分之前,我的以下代码运行良好。现在我在下面的第 4 行得到了一个 Method name expected
编译时异常。
void NetworkStatus_AvailabilityChanged(object sender, NetworkStatusChangedArgs e)
{
var networkAvailable = e.IsAvailable;
SetUpdateHUDConnectedMode d = new SetUpdateHUDConnectedMode(UpdateHUDConnectedMode(networkAvailable));
this.Invoke(d);
}
delegate void SetUpdateHUDConnectedMode(bool NetworkAvailable = true);
private void UpdateHUDConnectedMode(bool NetworkAvailable = true)
{
...
}
诚然,我是 Delegates
和 Optional Parameters
的新手,所以我将不胜感激任何见解。谢谢。
最佳答案
在某种程度上非常有限。使用 C# 4:
public delegate void Test(int a, int b = 0);
static void T1(int a, int b) { }
static void T2(int a, int b = 0) { }
static void T3(int a) { }
Test t1 = T1;
Test t2 = T2;
Test t3 = T3; // Error
然后你就可以打电话了
t1(1);
t1(1, 2);
t2(2);
t2(2, 3);
关于c# - 委托(delegate)可以有可选参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3763037/