如何使用委托在c#中创建钩子

时间:2016-04-22 15:07:41

标签: c# events delegates

所以这可能是非常简单的事情,但我想看看委托的概念是否合适。

我在主要的

上有以下方法
PrintName();
GetId()

如果我想添加" GetPhone()"如果您将在我的主要部分注入它,我是否使用委托?

我的想法是编译器会调用main并且只识别那里的方法,并且不知道GetPhone()是否存在(因为我只是将它添加到文件夹中的某个地方),这种架构的推理,就是我希望能够创建一个即插即用的概念。

谢谢。

1 个答案:

答案 0 :(得分:1)

不确定。您可以使用委托,然后调用委托,而不是直接调用函数,如下所示:

delegate void GetThings();
public GetThings myDelegate;

然后,您可以从“即插即用”对象为委托分配或添加功能。

myDelegate = PrintName();
myDelegate += GetId();
myDelegate = GetPhone();

只要返回类型相同,就可以向委托添加函数(即,一旦可以调用多个函数,就调用委托)。 但是,您需要实施安全检查。