Advanced Microsoft C# 4.0 Programming
Prerequisites:
Delegates must have solid C# programming skills, Visual Studio skills and be familiar with the concepts covered in the ?¢‚Äöá®?¨Introduction to Microsoft C#4 Programming Language course particularly the rationale behind Generic types & the role of delegates. Students who attend the QACSHPL-40 course are expected to have some practice before attending this course.Course Description:
This 2 day workshop concentrates on the more advanced features of the C# programming, leveraging it to address programming problems. It is a packed course and presented as a mixture of lectures and hands-on exercises. Practical sessions follow topics, designed to reinforce the points covered.
At the en…
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
Prerequisites:
Delegates must have solid C# programming skills, Visual Studio skills and be familiar with the concepts covered in the ?¢‚Äöá®?¨Introduction to Microsoft C#4 Programming Language course particularly the rationale behind Generic types & the role of delegates. Students who attend the QACSHPL-40 course are expected to have some practice before attending this course.Course Description:
This 2 day workshop concentrates on the more advanced features of the C# programming, leveraging it to address programming problems. It is a packed course and presented as a mixture of lectures and hands-on exercises. Practical sessions follow topics, designed to reinforce the points covered.
At the end of this course, you will be able to:
- Use all C# language features up to and including C#4 features
- Working with files and data
- Fully understand the role of generics, delegates and particularly the increasing prevalence of generic delegates in the .NET Framework Class Library
- Appreciate the role of .NET metadata, use the types of the System Reflection namespace and develop custom attribute classes
- Use LINQ (Language Integrated Query); understand some of its flavours (LINQ to Objects / SQL / Dataset / XML) and its extension capabilities
- Understand the available choices and implications when writing multi-threaded applications.
- Appreciate and use language constructs that enable Parallel processing options that utilise the power of modern multi-core processors.
This course includes the following modules:
A quick tour around advanced new features in Visual Studio 2010
- Window and Editor features
- Consume-First mode
- Search
- Dependency graphs
- UML
- Call Hierarchy
- (Thread visualization views)
Working with Files
- Streams, Readers and Writers
- File and Directory classes
- Compression
- FileSystemWatcher
Working with Data
- DataReaders
- DataSets
Language Features
- Flagged Enums
- Inheritance versioning
- More on generics
- Func and Lambda expressions
Getting started with LINQ
- LINQ and the relationship to C#
More LINQ
- Aggregation
- Grouping
- Joins
- LINQ to Xml
- LINQ to Relational
- Architectural usage of LINQ
Going Further with LINQ
- Extension points
- Expression trees
- A LINQ provider
Attributes, metadata & reflection
- Role of metadata; Attributes; Using Reflection; Writing Custom Attributes
COM Interop and dynamic types
- PInvoke
- Run-time Callable Wrappers
- COM Callable Wrappers
- Primary Interop Assemblies and deploying without them
Code Contracts
- An introduction to Code Contracts
Asynchronous Programming 1
- Thread class
- ThreadPool class
- ASync Delegates
- Background worker
- Manual and Auto Reset events
- Synchronization
The Task Parallel Library
- Parallel Programming in the .NET Framework; Task based programming; The Task Parallel Library (TPL)
- Introduction to Parallel LINQ (PLINQ);Data Structures for Parallel Programming
- Concurrent Collection Classes
- Thread visualization. In Visual Studio 2010
For online live training advice please visit our Learning Advice Centre on our website. Be sure to follow us on Twitter to receive special course offers, news and updates!
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
