我有delegate
,我希望它只能注册5次。
我知道我可以设置delegate
private
并编写AddRegister()
方法来控制registered
方法的数量。
还有其他想法吗?
答案 0 :(得分:1)
您可以在委托对象上使用GetInvocationList
方法,然后在其上调用Count
方法。以下
Mydel d1 = this.MyMethod;
int count = d1.GetInvocationList().Count();//Here count will be 1
此外,我希望将注册与上述功能结合在一起,与您在问题中提到的相似。通过这种方式,您无需在注册的任何地方编写count <= 5
条件。因此,维护起来会更容易。
希望这有帮助。