[英]How to limit the amount of method for a delegate?
我有一位delegate
,我只希望可以注册5次。 我知道我可以将delegate
设置为private
并编写AddRegister()
方法来控制已registered
方法的数量。 还有其他想法吗?
您可以在委托对象上使用GetInvocationList
方法,然后在其上调用Count
方法。 有以下影响的东西
Mydel d1 = this.MyMethod;
int count = d1.GetInvocationList().Count();//Here count will be 1
另外,我希望将注册与上述功能结合在一个位置,类似于您在问题中提到的位置。 这样,无论在什么地方注册,都不必写count <= 5
条件。 因此,它将更易于维护。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.