我必须在委托的调用列表中添加多个方法。但是,它们都具有与之相关的决策逻辑。因此,在方法附加到委托的调用列表之前,有一个if块。我可以在不实例化委托的情况下执行此操作。代码段如下所示:
public delegate void SomeDelegate();
static void Method1() {}
static void Method2() {}
static void AddMethodsToInvocationList()
{
SomeDelegate someDelegate = new SomeDelegate();
if (someLogic1) someDelegate += Method1;
if (someLogic2) someDelegate += Method2;
}
基本上,我希望能够创建委托的实例,而无需将任何方法作为参数传递。但是,如果我尝试实例化委托而不传递任何方法作为参数,则会出现“不包含带0参数的构造函数”错误的编译器错误。
如果其他人有更好的方法,我也会以不同的方式解决这个问题。但是,必须使用代表。
感谢您的帮助。非常感谢。
答案 0 :(得分:0)
您只需将其初始化为/etc/hosts
即可。这是多播代理的惯用价值,它没有添加任何操作。