Okay, so by weekly I mean that I will occasionally write about a developer tool in any given week. :)
If you missed previous versions of the Weekly Tool Tip, be sure to check them out. This week I want to bring your attention back to .NET Reflector for a little feature called the Analyzer. It is used to provide detailed information about how a particular component in a library is used. To get started, you can either right-click on any component – an assembly, namespace, class, method, etc. – displayed in Reflector and select Analyze from the context menu. Other ways to get at the Analyzer are to select Tools | Analyze from the main menu while highlighting a component, or hit Ctrl+R on your keyboard.

When opened, the Analyzer displays component usage information in a new panel to the right of the main component tree view. With it you can investigate four aspects of usage: which components it depends on, which components it is used by, which components it is exposed by, and which components it is instantiated by. For example, if I wanted to learn more about System.Net.WebClient I could open it up in the Analyzer and investigate how it is used throughout the Framework. I can also check out the dependencies associated with one of its methods, GetWebResponse(). This has been a great asset to me as I literally spend hours combing through Reflector to see how some things are implemented. It has been quite a great learning experience!

Notice that the classes are displayed hierarchically, so when you expand a section you can dig through those classes as well. Also note that you can add as many members to the list as you like. To remove one, simply right-click on it and select Remove from the context menu.
Check it out, because I think you’ll find it to be an invaluable asset when learning more about the .NET Framework and the other .NET libraries you are using.
