如何限制委托方法的数量?

时间:2014-03-18 08:48:52

标签: c# .net delegates

我有delegate,我希望它只能注册5次。 我知道我可以设置delegate private并编写AddRegister()方法来控制registered方法的数量。 还有其他想法吗?

1 个答案:

答案 0 :(得分:1)

您可以在委托对象上使用GetInvocationList方法,然后在其上调用Count方法。以下

的影响
Mydel d1 = this.MyMethod;
int count = d1.GetInvocationList().Count();//Here count will be 1

此外,我希望将注册与上述功能结合在一起,与您在问题中提到的相似。通过这种方式,您无需在注册的任何地方编写count <= 5条件。因此,维护起来会更容易。

希望这有帮助。