13.07.2015 Views

C# in Depth

C# in Depth

C# in Depth

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

204 CHAPTER 7 Conclud<strong>in</strong>g <strong>C#</strong> 2: the f<strong>in</strong>al featureshave a reference to the source assembly—and you can’t refer to an unsigned assemblyfrom one that is signed! Likewise a signed assembly can’t specify an unsigned friendassembly, so typically you end up with both assemblies be<strong>in</strong>g signed if either one ofthem is.7.8 SummaryThis completes our tour of the new features <strong>in</strong> <strong>C#</strong> 2. The topics we’ve looked at <strong>in</strong> thischapter have broadly fallen <strong>in</strong>to two categories: “nice to have” improvements thatstreaml<strong>in</strong>e development, and “hope you don’t need it” features that can get you out oftricky situations when you need them. To make an analogy between <strong>C#</strong> 2 and improvementsto a house, the major features from our earlier chapters are comparable to fullscaleadditions. Some of the features we’ve seen <strong>in</strong> this chapter (such as partial typesand static classes) are more like redecorat<strong>in</strong>g a bedroom, and features like namespacealiases are ak<strong>in</strong> to fitt<strong>in</strong>g smoke alarms—you may never see a benefit, but it’s nice toknow they’re there if you ever need them.The range of features <strong>in</strong> <strong>C#</strong> 2 is very broad—the designers tackled many of theareas where developers were feel<strong>in</strong>g pa<strong>in</strong>, without any one overarch<strong>in</strong>g goal. That’snot to say the features don’t work well together—nullable value types wouldn’t be feasiblewithout generics, for <strong>in</strong>stance—but there’s no one aim that every feature contributesto, unless you count general productivity.Now that we’ve f<strong>in</strong>ished exam<strong>in</strong><strong>in</strong>g <strong>C#</strong> 2, it’s time to move on to <strong>C#</strong> 3, where thepicture is very different. Nearly every feature <strong>in</strong> <strong>C#</strong> 3 (with the exception of partialmethods, which we’ve covered <strong>in</strong> this chapter) forms part of the grand picture ofLINQ, a conglomeration of technologies that could well change the way traditionalprogrammers th<strong>in</strong>k—forever.Licensed to Rhona Hadida

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!