I started working on my first .NET book project in 1998 or 1999. Of course I thought Visual Studio 6 would simply become version 7 and that VB6 would become VB7; I hadn't heard of C# at that point, and I hadn't heard the term .NET in the late 1990s. I have been using and exploring the .NET Framework and Visual Basic .NET for some time now ”a couple of years at least ”and the more I use it, the more impressed, amazed, and intrigued I become.
It doesn't take very long to get past the changes in VB .NET grammar, but the framework is like the deep blue sea. In general it will take the average VB6 programmer a few months to tackle the grammatical changes in VB .NET. The framework will take more time to master. The .NET Framework, common to all .NET languages, is broad and deep. Several facets make it a compelling choice for businesses, managers, and developers alike. If I am successful, by the end of this book you will understand that you are at a distinct disadvantage if you are using older, pre-.NET technologies.
Attributes are an important part of .NET's compelling story. Attributes play a role in providing metadata for applications, supporting the code access declarative security model, emitting IL, and emitting code and assemblies using the CodeDOM. We'll explore these aspects of attributes in this chapter.