Advanced C# Programming

Learn via : Virtual Classroom / Online
Duration : 5 Days
  1. Home
  2. /
  3. Advanced C# Programming


    The Advanced C# Programming course provides students with the knowledge and skills needed to develop applications using .NET Framework technologies with C# and Visual Studio. Students start with an accelerated language review, followed by core features of the Foundation Class Libraries (FCL), CLR memory management, events and delegates, async tasks, and dependency injection techniques. The class then covers development topics such as working with different System.IO classes, parsing XML data, and creating Windows Services. Finally, the course covers serializing data, exchanging data using WCF services, security classes, and transaction management.


    Delegates will learn to how to

    • do best practices
    • Review Object-oriented principles
    • Learn how to build classes with custom events and delegates
    • Understand how Func and Action can be used
    • Understand the role of dependency injection
    • Learn more about how the CLR manages memory
    • Write asynchronous code with async and await
    • Learn how to selectively compile code
    • Drill into .NET XML parsing APIs
    • Build distributed applications using Windows Communication Foundation (WCF)


Accelerated C# Concepts

  • Object Oriented Programming
  • Abstraction
  • Polymorphism
  • Inheritance
  • Encapsulation
  • Type Conversions
  • Operator Overloading
  • Using Attributes

Best Practices

  • Exception Management
  • String Manipulation
  • Thread Synchronization
  • Generics and Constraints

CLR Memory Management

  • The Common Type System
  • Understanding CLR Generations
  • The role of IDisposable
  • Using the CLR Profiler

Foundation Class Library Features

  • IO Classes
  • Net Classes
  • Threading.Tasks
  • Reflection Classes

Conditional Compilation

  • Defining Debug Symbols
  • Conditional Compilation using the Conditional Attribute

Events and Delegates

  • What are Events, Delegates and Event Handlers?
  • Working with Delegates and Events
  • Creating Custom EventArgs Classes
  • Using Lambda Expressions
  • Using Func
  • The async and wait keywords

Using Dependency Injection

  • What is Dependency Injection (DI)?
  • What is an IoC container?
  • The Role of Interfaces
  • Dependency Injection Techniques
  • Using an Ioc Container for DI

Monitoring, Debugging and Tracing

  • Using the Debugger Class
  • Tracing Operations
  • Performance Counters

Working with XML Data

  • Using System.Xml Classes
  • Using XML APIs
  • Monitoring XML files using Windows Services and the FileSystemWatcher

Serializing Data

  • Binary serialization
  • XML Serialization

.NET Security and Cryptography

  • Symmetric and Asymmetric Encryption Techniques
  • WindowsPrincipal and GenericPrincipal

Exposing Data with WCF

  • Web Services Architecture
  • Creating and Consuming a WCF Service
  • Modifying WCF Bindings
  • Debugging Services

Working with Transactions

  • Getting Started with Transactions
  • NET Transactions
  • Using TransactionScope


C# Programming course