Use “Obsolete” attributes to indicate Obsolete Methods

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.

1

Let’s discuss this with an example, Suppose we are having a Student Class which have GetStudentInfo() method which returns the students information.

2

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

3

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.

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

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” .

6

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

7

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 !

Shout it

10 thoughts on “Use “Obsolete” attributes to indicate Obsolete Methods

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s