Advanced C# Programming is for .NET Developers who want to get up to speed quickly with the latest features of C# 5.0 in Visual Studio 2012, and learn C# 5.0 Best Practices.
Prerequisites for the course : Experience of developing C# .NET Applications (Windows or Web) and a good understanding of Object Oriented Programming principles.
Duration : 30 Hrs
Advanced C# Programming Course Content
Defining Members in .NET
A closer look at parameters
Construction and destruction
Properties
Going Further with Types and Members
Static members
Operators
Partial types
Partial methods
Delegates, Events
Delegates
Asynchronous delegates
Events
C# Generics
Getting started with generics
A closer look at generics
Generic structs, delegates, interfaces
Generic methods
Additional C# Language Features
Object and Collection Initialization
Anonymous Types
Extension Methods
LINQ to Objects
Introduction to LINQ
Using LINQ with arrays
Using LINQ with collections
LINQ techniques
LINQ under the hood
Serialization with C# & .NET
Runtime Serialization
Customizing Serialization
XML Serialization
Annex: Data contract serialization
Reflection and Metadata
Reflection
Late binding
Assembly metadata
Multithreading and Parallelization
Creating multiple threads
Additional thread techniques
Thread synchronization
Parallelization
Asynchronous methods
Dynamic Programming
Using the Dynamic Keyword
Dynamic Language Runtime (DLR)
Creating Windows Store Apps
Overview of Windows Store applications
Worked example
Adding controls and event handlers
Introduction to Design Patterns
What are Design Patterns?
What are Anti-Patterns?
What are Design Heuristics?
Using Design Patterns
Pattern classification
Creational patterns
Structural patterns
Behavioural patterns
Test Driven Development (TDD) and Unit Testing Principles