In this post I have explained how you can use Obsolete attributes to mark some methods which are not no longer in used or may be remove in future release of the class. During the development cycle we may need to change the name or declaration of certain methods which may be using by some other developers. In this case if you changed the name or declaration of that method, application may crash in different point of times as it’s being used by other developer in the application. In this case you can use System.ObsoleteAttributes class to generate compiler warning and indicate the method as Obsolete.
Let’s discuss this with an example, Suppose we are having a Student Class which have GetStudentInfo() method which returns the students information.
Now this class is being used by many other developer to get the student information.
If you want to change the name or declaration of GetStudentInfo() methods it may causes the application crash or application build error as this method is being used by many developers.
To overcome this problem, and maintain the compatibility you can use “Obsolete” attributes to the old methods and define a new method and show a proper message to other developers.
This changes won’t be causes for any code break or application error. Other developers who are already using the GetStudentInfo() method will get an Compiler warning “Use GetStudentDetails Instead of GetStudentInfo” .
And for any new developer who are going to consume the GetStudentInfo() method will get an tool tip message that “Use GetStudentDetails Instead of GetStudentInfo”
Summary : In this post I have explained how you can mark a methods as obsolete using obsolete attributes which are not in used or may be removed in upcoming build.
Hope this post will help you !