1

作为MulticastDelegate.NET的主要代表类,我想问一下,有没有使用Delegate类的用例?

我的意思是,如果我有一个 type 变量Delegate和另一个type 变量,将调用MulticastDelegate不同的方法覆盖(例如),但是如果每个单程序员定义的委托都继承自使用类的要点?GetInvocationListMulticastDelegateDelegate

如果我假设没有,不应该ObsoleteAttribute用注释标记来MulticastDelegate代替使用吗?

或者编译器不应该默默地将“ Delegate variable1;”更改为“ MulticastDelegate variable1;”?

4

1 回答 1

4

它并没有过时,我认为没有理由将其标记为过时。

如果您需要的唯一成员由提供Delegate,您为什么要使用MulticastDelegate

根据我的经验Delegate,在 .NET API 中作为“任何委托”出现的频率比实际出现的要多得多MulticastDelegate。例如:

这两个类都存在绝对只是由于历史偶然性,但这没有理由不赞成使用 just Delegate

此外,您写道:

我的意思是,如果我有一个 Delegate 类型的变量和另一个 MulticastDelegate 类型的变量,将调用不同的方法重载(例如 GetInvocationList)

不,GetInvocationList没有超载。它在中被覆盖MulticastDelegate但没有重载。哦,请注意该方法的返回类型 - 它是Delegate[],不是MulticastDelegate[]

于 2013-03-19T14:00:06.367 回答