Course Outline
The .NET platform is everywhere, not just on desktop but on mobile and web. The C# language is evolving rapidly thanks to the .NET Compiler Platform (“Roslyn”). Developers need to learn and adapt quickly to the evolving ecosystem. This course provides experienced C# developers with a
Upcoming Meetings
There are no upcoming meetings for this course. Contact us to schedule this course, which will be customized specifically for your organization.
info@hackerupro.comModules
Reflection
- Types at runtime
- Metadata and Reflection
- Obtaining type information
- Dynamic invocation
- Custom attributes
- Introduction to the Managed Extensibility Framework (MEF)
Generics
- The need for Generics
- Boxing and Unboxing
- Generic Types
- Generic Methods
- Generic Constraints
- Generic Collections
- Generic Interfaces
- Generic Variance (C# 4)
Delegates, Events and Lambdas
- Delegate Basics
- Delegate Internals
- Generic delegates
- Anonymous delegates and closures
- Lambda Expressions
C# 3.0 and LINQ
- Partial types and partial methods
- Iterators
- Expression Trees
- C# 3.0 basic features
- Language Integrated Query
- LINQ to XML
- LINQ to Entities
Resource Management
- CLR Memory management
- Object creation and destruction
- How the GC Works
- Finalizers
- The Dispose Pattern
- Controlling GC
- The Large Object Heap
- Monitoring Memory
- Best Practices
Processes, Thread and AppDomains
- Windows Process
- Windows Thread
- CLR AppDomains
- Assemblies and AppDomains
- Crossing AppDomains
Threading and Synchronization
- Native vs. Managed Threads
- Thread Creation and Control
- Thread Synchronization
- Thread Local Storage
- Kernel Object Synchronization
- The Thread Pool
Parallel & Asynchronous Programming
- Introduction to Tasks
- Tasks vs. Threads
- Working with Tasks
- Task Schedulers
- The Parallel Class
- Parallel LINQ
- Concurrent Collections
- Asynchronous Calls
- Async Patterns in .NET
- Using C# 5.0 for asynchrony
C# 6.0 and C# 7.x
- C# Evolution
- The .NET Compiler Platform
- C# 6.0 Useful features
- C# 7.x Useful features
- What’s expected in C# 8.0?
Prerequisites
- At least one year developing with C# in .NET 3.5+