繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM