【发布时间】:2019-07-17 10:35:40
【问题描述】:
有没有办法在 C# 中声明单播委托?例如。这样就不可能在一个时间点被委托引用多个方法。
我正在考虑一种方法来实现在选择运行时使用的实现方面的灵活性,但要采取某种保护措施来防止触发多个操作以避免任何副作用,尤其是使用非 void 返回类型的委托。
【问题讨论】:
-
你在寻找
Action<T>(或者如果你想返回一些值Func<T>)? -
AFAIK 你不能,很简单;您声明(或可能会遇到)的任何代表都将是多播的。也没有好办法检查是否有多个目标(不分配)