Advanced C#

Course Outline Outline
Reading Material Reference.pdf
PowerPoint Slides Intro.pptx
DayModulesSharing
1
  • Information Hiding
  • OOP
  • More advance C# features
2
  • Overview of Attributes
  • Defining Custom Attributes
  • Retrieving Attribute Values
  • Reflecting on Objects
  • Adding Assembly Metadata
  • Emitting Objects by Using Builder Classes
  • Comparing a Static Method with an Instance Method
  • Single Cast Delegates
  • Multicast Delegates
  • Variance in Delegates
3
  • Creating Custom Events
  • Passing Data to an Event Argument
  • Using Event Accessors
  • Handling Interface Events
  • Handling Explicit Interface Events
  • The Usefulness of Lambda Expressions
  • Lambda Expression with (and Without) Parameters
  • Types of Lambda Expressions
  • Expression-Bodied Members
  • Local Variables in a Lambda Expression
  • Using Tuples in a Lambda Expression
  • Event Subscription with Lambda Expressions
  • The Motivation Behind Generics
  • A Quick Look into the List Class
  • Generic Delegates
  • Predicate Delegate
  • The Default Keyword in Generics
  • Implementing Generic Interface
  • Generic Constraints
  • Using Covariance and Contravariance
  • Covariance with Generic Delegate
  • Covariance with Generic Interfaces
  • Contravariance with Generic Delegates
  • Contravariance with Generic Interface
  • Self-Referencing Generic Types
4
  • Foundations in Thread Programming
  • Coding Multithreaded Programs in C#
  • Using the ThreadStart Delegate
  • Using the ParameterizedThreadStart Delegate
  • Foreground Thread vs. Background Thread
  • Thread Safety
  • An Alternative Approach Using the Monitor Class
  • Deadlock
  • Using a Synchronous Approach
  • Using Thread Class
  • Using the ThreadPool Class
  • Using Lambda Expressions with ThreadPool
  • Using the IAsyncResult Pattern
  • Using an Event-based Asynchronous Pattern (EAP)
  • Understanding Tasks
  • Using a Task-based Asynchronous Pattern (TAP)
  • Asynchronous Programming with Async / Await
  • C# Features That Support LINQ
  • Query Syntax and Method Syntax in LINQ
  • Basic LINQ Query Operations
  • Data Transformations with LINQ

Recommanded Books
TitleGetting Started with Advanced C#: Upgrade Your Programming Skills
ISBN978-1-48-425934-4
AuthorVaskaran Sarcar
Year2020
Publisher Apress
TitleAsync in C# 5.0
ISBN978-1-449-33716-2
AuthorAlex Davies
Year2012
Publisher O'Reilly Media