Learn your way! Get started

C# 2012, Part 4 of 4: Language Changes and Updates

with expert Joe Mayo

Watch trailer

Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack

Release date 12/24/2012
Level Intermediate
Runtime 1h 10m
Closed captioning Included
Transcript Included
eBooks / courseware Included
Hands-on labs Included
Sample code Included
Exams Included

Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More

Course description

In this course, you’ll learn how named and optional parameters give you flexibility in calling methods. You’ll see how caller information attributes give you information about the code that is calling a method. Another set of features you’ll see are covariance and contravariance and how they allow you to implicitly convert return values and parameters, respectively, between types. We’ll also discuss how embedded interop types reduce the size of your deployable code and then you’ll see a few new C# compiler command-line options. You’ll learn about new .NET types like BigInteger, Complex, and Tuple. You’ll see how to perform just-in-time type initialization with Lazy. The course will show you how to manage breakpoints and step through code with the debugger. Finally, we’ll cover the different build options and show you how to create custom build configurations of your own.


This course assumes that students understand the C# 3.0 syntax and have a basic understanding of the .NET Framework. No specific experience with Visual Studio 2012 is required.

Learning Paths

This course will help you prepare for the following certification and exam:
MCSD: Windows Store Apps
70-483: Programming in C#

This course is part of the following LearnNowOnline SuccessPaths™:
.NET Framework C# Development

Meet the expert

Joe Mayo is an author, independent consultant, and instructor specializing in Microsoft .NET and Windows 8 technology. He has several years of software development experience and has worked with .NET since July 2000. Joe has written books and contributes to magazines such as CODE Magazine. He has been an active contributor to the .NET community for years, operating the C# Station Web site, authoring the LINQ to Twitter open source project, and speaking regularly at user groups and code camps. For his community contributions, Microsoft has honored Joe with several Most Valuable Professional (MVP) Awards through the years.

Course outline

C# Changes and Updates

New Language Features (17:21)
  • Introduction (00:45)
  • Named and Optional Parameters (00:36)
  • Demo: Parameters (02:02)
  • Caller Information (00:55)
  • Demo: Caller Information (01:51)
  • Covariance and Contravariance (00:29)
  • Demo: Co and Contra variance (02:53)
  • Embedded Interop Assemblies (02:25)
  • Demo: Embedded Interop (02:11)
  • New Command Line Options (01:30)
  • Demo: Command Line Options (01:30)
  • Summary (00:09)
DOT NET and Changes (20:23)
  • Introduction (00:33)
  • New Types of Interest (00:53)
  • Demo: New Types of Interest (04:25)
  • Lazy Initialization (01:01)
  • Demo: Lazy Initialization (03:07)
  • New Generic Types (00:29)
  • Demo: New Generic Types (02:02)
  • Breaking Changes (01:22)
  • Demo: Breaking Changes (02:26)
  • Demo: Overloads (03:17)
  • Summary (00:43)
Essential Skills (32:49)
  • Introduction (00:39)
  • Debugging Tips (01:50)
  • Demo: Debugging Tips (02:35)
  • Demo: Managing Breakpoints (02:45)
  • Demo: Breakpoint Condition (01:07)
  • Demo: Changing Execution Point (01:58)
  • Debugger Windows (01:34)
  • Demo: Debugger Windows (02:48)
  • Demo: Autos Debugging Window (02:16)
  • Demo: Watch and Call Stack (02:03)
  • Demo: Immediate Window (03:20)
  • Building Code (01:56)
  • Demo: Building Code (07:39)
  • Summary (00:13)