Thousands of Visual Basic developers have now finished their “first pass” at .NET. They understand the top-level structure of the beast. They’ve started writing code -- maybe in production projects, maybe in pilots, maybe just for grins. Now, they’re ready to go deeper: to really give .NET’s Common Language Runtime (CLR) a workout, on both the straightaways and the turns, and see what this baby can do.
They’re the programmers Jeffrey Richter and Francesco Balena were thinking of when they conceived and wrote Applied Microsoft .NET Framework Programming in Visual Basic .NET. This book aims to give you a far deeper understanding of .NET and the CLR, so you can solve more complex problems, troubleshoot more effectively, and make more intelligent up-front design choices.
Richter, author of the classic Programming Applications for Microsoft Windows, has spent more than two and a half years consulting with Microsoft’s .NET development team. (The guy’s specialized in Windows development since Windows 1.0. You could still run Windows on floppies then.) Balena, Wintellect’s resident VB expert, runs vb2themax.com and wrote Microsoft Press’s Programming Microsoft Visual Basic 6.
These guys know the terrain, and in this book, they roam it far and wide to help you get the most out of .NET. For example, as Richter notes, the CLR offers many features that VB.NET doesn’t yet access. “Since this book is really about the CLR, I've chosen to describe CLR features that are not available to Visual Basic programmers using other programming languages such as C#, Managed Extensions for C++ and even IL assembly language.... With this knowledge, you may decide to write parts of your application using other programming languages; as you'll see this is very easy to do and offers you a lot of flexibility.”
Neither do Richter and Balena hesitate to break rules when necessary. While Microsoft generally encourages developers to write “safe code” that the CLR can protect, sometimes it makes sense to write “unsafe code” that runs faster. One example: fast array access, which evades the CLR’s built-in index checking.
Part I of Applied Microsoft .NET Framework Programming in Visual Basic .NET focuses on building, packaging, deploying, and administering applications and components, and on using assemblies effectively. The authors cover both private assemblies (ideal for maximizing control) and shared assemblies that multiple applications can access.
Next, they take a deeper look at types, beginning with the minimum set of behaviors that all types exhibit; type safety; and new options for changing object type. They review primitive, reference, and value types, illuminating subtleties that often trip up new .NET developers; then show how to properly implement key operations such as object equality, identity, hash codes, and cloning.
When you’re really comfortable with types, Richter and Banera turn to designing them, using the many different members you can define within them. There’s a full chapter on constants and fields, and another on methods -- including coverage of instance and type constructors, as well as operator overloads and conversion operators (not supported by VB.NET but illustrated here using C#).
There’s a detailed discussion of properties, which give source code a simpler way to call methods. Here, there’s a handful of inconsistent jargon you’ll need to overcome before you get productive (we’ll spare you).
Richter and Balena save much of the best for last. For example, if you’re an experienced Windows developer, you probably assume you know all there is to know about enumerated types and bit flags. But, as this book explains, they now have power you haven’t touched -- power that can make your life a whole lot easier. There’s excellent coverage of interfaces, delegates, .NET’s exception handling. Last but not least, the authors illuminate .NET’s reflection, in which a program reads its own metadata, then uses it to modify its own behavior dynamically. You can use reflection to handle dynamic type conversion, discovery, and binding; even to emit IL code. It’s powerful stuff, and the better you understand it, the more creative uses you’ll find for it.
If you’re ready to get serious about .NET, you’re ready for this book. (Bill Camarda)
Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.