Knowing that hundreds of namespaces and housands of classes make up the FCL, you need to know what namespaces offer you the functionality you need to complete the job at hand.
You need to know how to navigate the .NET Framework SDK to find the information you need. But first, let's look at the common namespaces in the FCL and the functionality they offer. This will help you know what to look for when we get to the SDK.
System.Data This namespace contains the core data access functionality for SQL Server and OLE DB data stores. You learn how to use this namespace tomorrow when we get into accessing data with ADO.NET.
System.XML The class Day 12, "Accessing XML in .NET."
System.DirectoryServices This namespace gives you programmatic access to all Active Directory objects.
System.Messaging This namespace exposes Microsoft Message Queue functionality to your applications.
System.Globalization This namespace gives Day 15, "Writing International Applications."
System.Net This namespace supports interfaces for sending and receiving data over the network wire.
System.Collections This namespace includes support for arrays, lists, dictionaries, and hash tables.
System.IO This namespace supports stream, file, and directory access functionality. You learn how to use this namespace later today.
System.Text This namespace provides character encoding, character conversion, and string manipulation functionality.
System.Text.RegularExpressions This namespace contains full regular expression syntax support.
System.Threading This namespace provides Day 13, "XML Web Services in .NET."
System.Reflection This namespace gives you programmatic access to assembly type information.
System.Drawing This namespace gives you access to all the GDI+ drawing capabilities, which are wrappers around the GDI COM interface that Windows uses to paint.
System.Windows.Forms This namespace enables you to write Windows Forms applications.
System.Runtime.InteropServices This Day 13.
System.Runtime.Serialization This namespace supports Day 14.
System.Security This namespace provides access to the underlying security infrastructure that the .NET Framework runs on top of.
System.Web This namespace supports the core functionality in ASP.NET, Web Forms, Web server management, and HTTP support.
System.Web.Services This namespace Day 14.
As you can see, there are many top-level namespaces, and the list I provided is only a partial one. I also mentioned that these are the common namespaces. Understanding what each namespace can do for you makes them all equally important, so being familiar with the names helps you know where to look in the SDK when you actually need to use something you've never used before.
The .NET Framework SDK and the Visual Studio .NET help file are designed to give you quick and easy access to the information you need to use Visual Studio .NET. The help file is broken down by tasks; for example, Working with Data, and Deploying Applications. Each help topic has a hyperlink on the bottom of the help page that leads you to the namespace where the class you are working with exists or to further reading on the topic.
To test this, open the help file for Visual Studio .NET. After it's opened, you should see tabs across the bottom left of the help screen that say Contents, Index, Search, and Favorites. Click the Index tab, and type security in the Search box. Your results should look something like Figure 9.1.
As you can see, a bunch of topics appear for Security. If you click the first topic, .NET Framework namespaces, you'll see links to all the topics that cover security in the .NET Framework. Doing searches like this helps you understand where things are located in the .NET Framework. Next, do a search for data or collection, and click around to become familiar with how the help file is cross-referenced with the SDK and samples.
Day 2, "Introduction to Visual Studio .NET."
If you already think you know the namespace you need, you can go directly to the Reference section of the .NET Framework class library in the SDK. Figure 9.2 shows you how to navigate to find the list of every namespace and class in the FCL.
So, now you can see two ways to easily figure out where namespaces and classes are and how to get help on them. Later today, you'll learn more about using the help file. Throughout the rest of this week and next week, you'll reference the SDK help file to do further reading and get a better understanding of where things are in the FCL.