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

Advertisements

Written by Abhijit Jana

Technology Leader, Technical Strategist, Solution Architect, Development Consultant and a Trusted Technology Advisor with more than 11.5 years of experience in the IT industry with expertise in Development, Architecting, Engineering, Consulting, and Services Delivery. I am a former Microsoft MVP, Author of "Kinect for Windows SDK Programming Guide" and "HoloLens BluePrints" books and founder of The Daily .NET Tips . To know more about me visit "About Me" page.

10 comments

  1. Pingback: DotNetShoutout

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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s