C# 8 Advanced Development - virtual

Kursarrangør: Glasspaper AS
Sted: Nettkurs / Nettstudie
Hele landet
Type:Nettkurs og nettstudie
Undervisningstid: kl 09:00 - 16:00
Varighet: 4 dager
Pris: 20.900

Once you have mastered the core features of C# as a programming language, you are ready to take the next step. The .NET Framework offers an incredibly rich and diverse set of APIs that cover all aspects of contemporary development.

This course takes a detailed look at the areas of C# and .NET that have particular resonance to developers today, including asynchrony, creating decoupled and adaptable systems, and test-driven development.

What you will learn:
• Asynchronous programming techniques
• Parallelization and concurrency
• Debugging multithreaded code
• Reflection and metadata
• Using CodeDom and dynamic code
• Dynamic programming
• Dependency injection
• Test-driven development

Course outline:

Asynchronous Programming:
• Creating tasks; Designing task-based APIs; Continuations; Nested tasks

Managing Tasks:
• Quick recap of async and await; A closer look at the Task class; Working with TaskCompletionSource; Task scheduling

Parallel Programming:
• Task-based and data-based parallelism; Using the Parallel class; Using PLINQ; TPL DataFlow

Debugging Multithreaded Code:
• Types of bugs; Visual Studio debugging techniques; Going beyond Visual Studio

Reflection and Metadata:
• Metadata storage; Loading assemblies; Examining types using reflection; Creating instances using reflection; Late binding; Assembly metadata; Defining and accessing custom attributes.

Integrating with Unmanaged Code:
• The dynamic keyword; Using The Dynamic Language Runtime

CodeDom and Dynamic Code:
• Overview of CodeDom; Compiling code; Using interfaces effectively; Using reflection effectively; Using Reflection Emit; Creating dynamic methods; Working with builder classes.

Dependency Injection:
• DI concepts; Tools for implementing DI; Overview of Unity; Resolving dependencies; Designing for DI

Test-Driven Development:
• TDD concepts; Tooling for TDD in .NET; Creating unit tests; Mocking; Coverage; Following a TDD approach to development

Målgruppe for kurset:
• At least 6 months C# programming experience

Language: English course

Instructor: Andy Olsen

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.