When, if ever, would you expect classes marked as obsolete to be removed from the .NET framework?
As we approach the 4th major release of the .NET framework we are likely to see an increase in the number of classes and methods marked as obsolete (to indicate they are deprecated). I found this page listing all the obsolete members and types, which is growing quite large now.
So, I w开发者_开发技巧as wondering whether:
Have any members or types marked as obsolete have been actually removed from any version of the framework? Are there elements from, say, .NET 1 that are not in later versions at all?
Are there any formal guidelines Microsoft follow as to when elements will be removed? Is this after X number of releases? Elapsed time? Or is it likely deprecated elements will remain in perpetuity?
The problem with removing an obsolete class from the Framework is that it becomes a breaking change to applications built against the Framework, whereas applying ObsoleteAttribute
is not.
Consequently, I don't expect to see any of those classes marked obsolete removed any time in the near future, if ever.
The most reasonable way would be to leave them there forever in order to keep backward compatibility.
精彩评论