As the MulticastDelegate is ruling delegate class of .NET I would like to ask, are there any use cases for using Delegate class?
I mean if I had a variable of type Delegate and another one of type MulticastDelegate, different method overriddes (e.g GetInvocationList) will be called but if every single-programmer defined delegate inherits from MulticastDelegate what could be a point for using Delegate class?
And if as I assume there is none, shouldn't it be marked with ObsoleteAttribute with comment to use MulticastDelegate instead?
Or shouldn't compiler silently change "Delegate variable1;" to "MulticastDelegate variable1;"?