I was implementing my own Attribute today when i noticed the virtual function Match.
The normal implementation of Match is to call Equals, so why does it exist in the first place?
The documentation says the following for Match
When overridden in a derived class, returns a value that indicates
whether this instance equals a specified object.
The documentation says the following for Equals
Returns a value that indicates whether this instance is equal to a
specified object.
The remarks section in MSDN for that method explains their difference: