->
Oreilly - C# Puzzlers (Video Training) - 9780132946100
Oreilly - C# Puzzlers (Video Training)
by | Released December 2011 | ISBN: 0132946106


How well do you know C#? Put your knowledge to the test in Bill Wagner's C# Puzzlers video LiveLesson! Bill Wagner's C# Puzzlers exposes common misconceptions that developers have about the C# language. Misconceptions occur when developers are unclear about how language features interact. On other occasions, a lack of understanding about how a single features works, can stump and frustrate the most experienced developer. Using the “Puzzler” format, Bill demonstrates these misconceptions using small code samples; he then explores different ways for you to modify the code until its behavior is correct. This collection of Puzzlers is divided into seven sections. Each section delves into the rules that govern aspects of the C# language that developers find most confusing: I. Generics II. Method Resolution III. Named and Optional Parameters IV. LINQ V. Value and Reference Semantics VI. Dynamic Programming in C# The introductory puzzle introduces the format using a puzzle, and discusses some of the nuances of object construction. I. Generics Generics are still one of the most important aspects of the .NET environment and the C# language. So many of the features we use every day are built upon generics in one way or another. Generics are still a complicated feature. You must create code whose types are not known until runtime. The compiler must generate IL with minimal information about the actual types that will be represented by the type parameters. The JIT must convert that IL into executable code and plug in the real types for the type parameters. Finally, the meta data carried along must include information that enables reflection and other advanced techniques to work correctly. Puzzle 1 - Operations on Generic Type Parameters What information gets conveyed, and what information cannot get used when a real type is substituted for a type parameter? Puzzle 2 - Generics and Specializations What happens when you create overloads for generic methods? Puzzle 3 - Generics and Variance How do generics and arrays differ with respect to variance? Puzzle 4 - Generics, Constraints and Overloads How does the compile choose between different candidate generic methods? II. Method Resolution The rules that govern method resolution in C# are necessarily complex. The features the community has asked for and the team has implemented have only added more complexity to those rules with each new release of the C# language. If you want to be a strong C# developer, you need to have at least a working knowledge of these rules. Puzzle 5 - Overloading base class methods What happens when derived classes create overloads of base class methods? Puzzle 6 - Overloaded methods and null parameters How does the compiler resolve overloaded methods when you use null parameters? Puzzle 7 - Overloaded methods and null parameters revisited What if the overloaded parameter types are unrelated? Puzzle 8 - Overloaded methods and null parameters and Generics What if one of the methods is generic? III. Named and Optional Parameters Named and optional parameters sound so simple at first examination. But this feature has significant implications on other features in the language. It also has significant implications on areas as fundamental as how parameters are passed to called methods. Puzzle 9 - Optional parameters and constructors When is a default constructor not a default constructor? Puzzle 10 - Optional Parameters and Overloads Which is the better match? Puzzle 11- Evaluation of Named Parameters When do parameters get evaluated? Why does it matter? IV. LINQ LINQ introduced totally new ways of constructing and organizing programs. There were new rules related to how you wrote algorithms. Those rules still cause developers confusion in some cases. Puzzle 12 - Bound Variables When are LINQ queries evaluated? Puzzle 13 - Method calls in LINQ queries How does LINQ process expressions and method calls? V. Value and Reference Semantics Reference types and value types behave differently in many important ways. They also behave the same in many other ways. It can be difficult to keep those differences in mind as you get too accustomed to the similarities. Puzzle 14 - Value type Semantics When does copying values hurt? Puzzle 15 - Value types and events What happens when value types receive event notifications? VI. Dynamic Programming in C# Dynamic extensions move many of the common tasks that were performed by the compiler to runtime libraries. The interplay between static and dynamic typing creates new complications in C# programs. This section discusses some of the most common ways where static and dynamic types interact in ways that can be surprising. Puzzle 16 - Dynamic Types and Extension Methods How do dynamic types interact with extension methods? Puzzle 17 - Anonymous types and Dynamic Methods Under what conditions can anonymous types be treated dynamically? Puzzle 18- Creating Dynamic Types in C# Why would you pick different ways to implement dynamic types? Show and hide more
  1. General Introduction 00:02:26
  2. Intro Puzzle: Construction Order and General Puzzle Format 00:08:27
  3. Puzzle One: Operations on Generic Type Parameters 00:13:22
  4. Puzzle Two: Generics and Specialization 00:06:15
  5. Puzzle Three: Generics and Variance 00:08:56
  6. Puzzle Four: Generics, Constraints, and Overloads 00:09:04
  7. Puzzle Five: Overloading Base Class Methods 00:05:50
  8. Puzzle Six: Overloading Methods and null Parameters 00:04:54
  9. Puzzle Seven: Overloading Methods and null Parameters Revisited 00:04:42
  10. Puzzle Eight: Overloading Methods and null Parameters and Generics 00:03:27
  11. Puzzle Nine: Optional Parameters and Constructors 00:05:04
  12. Puzzle Ten: Default Parameters and Overrides 00:03:22
  13. Puzzle Eleven: Evaluation of Named Parameters 00:06:09
  14. Puzzle Twelve: Bound Variables 00:08:00
  15. Puzzle Thirteen: Method calls in LINQ Queries 00:09:35
  16. Puzzle Fourteen: Value type semantics 00:05:07
  17. Puzzle Fifteen: Value Types and Event Handlers 00:05:53
  18. Puzzle Sixteen: Dynamic types and extension methods 00:05:36
  19. Puzzle Seventeen: Anonymous Types and dynamic methods 00:04:15
  20. Puzzle Eighteen: Creating Dynamic C# Types 00:08:35
  21. Show and hide more

    Oreilly - C# Puzzlers (Video Training)


 TO MAC USERS: If RAR password doesn't work, use this archive program: 

RAR Expander 0.8.5 Beta 4  and extract password protected files without error.


 TO WIN USERS: If RAR password doesn't work, use this archive program: 

Latest Winrar  and extract password protected files without error.


 Coktum   |  

Information
Members of Guests cannot leave comments.




rss