Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / C#

Use “Obsolete” attributes to indicate Obsolete Methods

5.00/5 (7 votes)
3 Sep 2010CPOL2 min read 23.3K  
In this post, I have explained how you can mark methods as obsolete using obsolete attributes which are not in use or may be removed in upcoming builds.

In this post, I have explained how you can use Obsolete attributes to mark some methods which are no longer in use or may be removed in future releases of the class. During the development cycle, we may need to change the name or declaration of certain methods which may be used by some other developers. In this case, if you changed the name or declaration of that method, the application may crash in different points of times as it’s being used by other developers in the application. In this case, you can use System.ObsoleteAttributes class to generate compiler warning and indicate the method as Obsolete.

1

Let’s discuss this with an example. Suppose we are having a Student class which has GetStudentInfo() method which returns the student's information.

2

Now this class is being used by many other developers to get the student information.

3

If you want to change the name or declaration of GetStudentInfo() methods, it may cause the application crash or application build error as this method is being used by many developers.

4

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.

5

These changes won’t be cause 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" .

6

And any new developer who is going to consume the GetStudentInfo() method will get a tool tip message that “Use GetStudentDetails Instead of GetStudentInfo".

7

Summary

In this post, I have explained how you can mark methods as obsolete using obsolete attributes which are not in use or may be removed in upcoming builds.

Hope this post will help you!

Filed under: ASP.NET, C#, General, Tips and Tricks, Visual Studio

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)