Contents “C# Advanced Programming Training”
In this C# training, advanced topics for programmers are covered. A C# training for software developers who want to program professionally with C# and Visual Studio. Together with the corresponding C# basic course, C# and Visual Studio 2019 are presented comprehensively and compactly.
The contents of this C# seminar (here detailed as pdf) can be adapted to the needs of the participants.
1. Static Variables, Methods and Classes
- Static Class Elements
- Overloaded Operators
- Extension methods
2. Generic Programming
- Generic Methods
- Generic Classes
- Type parameter constraints
3. Interface Classes
- The definition and implementation of interface classes.
- Interface Classes and Inheritance
- Typical Use Cases and Generic Interfaces
- Examples: IComparable, IEnumerable, IClonable, IFormatable Iterators
- IEnumerator and the foreach statement
- Iterators and the yield statement
- Generic Interface Classes: IEnumerable<T>
- Covariant and contravariant type parameters
- IFormattable: Formatting User-Defined Classes
- Software Design Patterns: Factory Pattern and Strategy Pattern
4. Exception Handling
- The try statement
- The Exception Base Class
- Some predefined exceptions
- throw statements
- Exceptions and Intellisense
- Self-defined exception classes
- The release of resources, try-finally and the using statement
- The logging of exceptions in an EventLog
5. Delegate Types, Lambda Expressions and Events
- Delegate Types and Instances
- Generic Delegate Types: Action and Func
- Operations for managing call lists
- Anonymous Methods, Lambda Expressions
- LINQ query expressions (from, select, where, orderby etc.)
- LINQ query expressions as method calls
6. Runtime Type Information and Reflection
- Runtime type information of the class Type
- Reflection with the Assembly Class
- Dynamically generated data types and plugins
- Predefined Attributes
- Self-defined runtime attributes
8. Times, Calendar Dates and Timers
- The classes DateTime and TimeSpan
- Timer and time-controlled events
- High-resolution time measurement with the Stopwatch class
- Culture-specific date formats and calendars
9. Multithreading and Asynchronous Programming
- Multithreading with the Task Parallel Library (TPL)
- Start functions as threads: Task.Factory.StartNew and Task.Run
- Continutions: Execute tasks one after the other
- Responsive user interfaces: Accessing Controls in Tasks
- Cancel Tasks
- Asynchronous programming with asynchronc and await
- Critical sections and thread synchronization
- Data Parallelism: Parallel.For and Parallel.ForEach
- Older concepts: The Thread and BackgroundWorker Classes
10. Regular Expressions
About “C# Advanced Programming Training”
Target audience for this C# training
Software developers who want to write professional programs using C#.
Requirements: C# knowledge within the scope of the C# basic course.
Teaching style of the C# seminar
Lecture with many examples. A balanced combination of theory and practice.
- At the beginning of a new topic, an overview of applications, basic ideas and syntax is given.
- The concepts and the syntax are illustrated by using carefully selected and proven examples. Often, best practices" are presented.
- The manuscript contains numerous practical exercises.
- If desired, tasks from the work of the students can also be dealt with. This should be arranged before the start of the training.
Extensive and detailed training materials (approx. 200 pages) - Full text, no PowerPoint slides containing only keywords. Therefore, the course materials can also be used as a reference at work.
Place and time of this C# training
This seminar is offered as an inhouse seminar (at your site). The implementation as a face-to-face seminar is preferred, but is also possible as an online seminar. Dates by arrangement.
Duration: 5 day
Prof. Richard Kaiser has been conducting seminars for companies for many years, mainly on software development and the programming languages C#, C++ and C. He knows the requirements of practice and addresses them in detail, both in the basic concepts and in the details. His clients include renowned global corporations and small and medium-sized enterprises. He is the author of several books on C++, most recently "C++ mit Visual Studio 2019". He was a member of the DIN standardization committee Information Technology NI-22 for many years.