Advanced C# Language Features
- Learn how to build custom indexer methods
- Overload operators on custom types
- Create custom implicit and explicit conversion routines
- Create and use extension methods
- Know the role of anonymous types
- Understand the internal composition of an anonymous type
- Work with anonymous methods
- Work with the C# lambda operator (=>)
- Understand the role of pointers and the "unsafe context"
Reflection and Attribute Based Programming
- Know the role of reflection
- Work with the System.Reflection namespace
- Dynamically load assemblies at runtime
- Invoke methods on objets using late binding
- Know the role of attributes
- Build, constrain and apply custom attributes
- Reflect over attributes
- Build an extensible application using reflection, dynamic loading and attributes
The Dynamic Language Runtime (DLR)
- Know the scope of the C# dynamic keyword
- Understand the services of the DLR
- Use the DLR to simplify reflection code
- Use the DLR to simplify COM interop code
Topics in Multithreaded Programming
- Understand the role of processes and application domains
- Programmatically manipulate processes and application domains
- Work with the System.Threading namespace
- Know the role of thread synchronization
- Create thread safe code using synchronization
- Work with the Task Parallel Library (TPL)
Topics in XML Data Manipulation
- Review the role of a well-formed and valid XML document
- Examine the core XML services of the .NET platform
- Examine the types of the System.Xml namespace
- Load and traverse an XML document in memory
- Work with XML readers and XML writers
- Configure C# classes for XML serialization
An Introduction to LINQ
- Understand the motivation behind LINQ
- Visual Studio LINQ support
- Debugging LINQ query expressions
- Work with query operators and query expressions
- Program with LINQ to Objects
- Understand deferred and immediate execution
- Know the role of the System.Linq.Enumerable type
- Know the role of the System.Func delegate type
- Understanding the query operators / delegates / lambda relationship
LINQ to XML
- Understand the role of LINQ to XML
- Work with the LINQ to XML object model
- Examine the System.Xml.Linq namespace
- Use LINQ to XML to create, query and save XML documents
- Insert and remove XML data using LINQ to XML
- Examine VB’s XML literal syntax
- Work with VB XML axis properties
- Understand the LINQ to XML / XML literal relationship
LINQ to Entities
- Define LINQ to Entities
- Understand the EF programming Model
- Generate entities using Visual Studio
- Know the role of object services
- Know the role of the entity client
- Examine the format of *.edmx files
- Apply LINQ queries to relational databases