C# Programmering Avanceret
Beskrivelse
Kurset bygger videre på de fundamentale områder, berørt i SU-230 C# Programming Videregående.
Vi ser nærmere på de mange nye muligheder i C#, f.eks. pattern matching og det ”nye” switch udtryk. Derudover gennemgås en række principper og faciliteter i forbindelse med C#’s klasser herunder også SOLID principperne samt Destructor og IDisposable.
Kurset fylder også værktøjskassen med viden om Generics (generel kode med variabel datatype), Reflection (benyt ukendte programmer), brug af flertrådet kode samt grundlæggende kryptering.
Endelig er der også en grundlæggende indføring i mulighederne for brugergrænseflader (UI), fra konsol via Windows desktop (WPF) over Cross platform desktop/phone (MAUI) til Web (MVC). Vi kaster også et blik på Blazor, der er C#/.Net, afviklet direkte i browseren.
De enkelte moduler afsluttes med en opgave, hvor der er mulighed for at afprøve faciliteterne i praksis.
SuperUsers stiller Windows computere med Visual Studio til rådighed. Du er velkommen til at arbejde i dit eget miljø (fx JetBrains's Rider på Linux), men må så selv medbringe en computer.
Instruktøren anvender Visual Studio på Windows og kan kun assistere med opsætning af andre miljøer i begrænset omfang.
Certificeringspakker
Moduloversigt
- Modul 1Highlights from Volume 1
C# Basics
struct, class and record
C# Features
Inheritance
Working with Interfaces
Collections
Accessing the file system
Accessing a database
Working with the web
- Modul 2Advanced C# features
Readonly elements (readonly fields, get-only and init-only properties)
Working with null
Pattern matching
Switch and throw expression
Exception filters
Local functions
C# version independent of .Net version
- Modul 3Advanced .Net features
The filesystem: FileSystemWatcher, Compressed files
Logging
- Modul 4Advanced classes
The SOLID principles
Extension methods
Unit testing
Partials
Indexers
Destructor & IDisposable
Delegates and events
Static classes and members
- Modul 5Advanced records
Inside records
- Modul 6Generics
Datatype as a "variable"
The road from array --> arrayList --> List
Do it yourself
- Generic Classes
- Generic methods
- Modul 7User interfaces
UI types in .Net (an introduction)
- Console
- Wpf - Windows desktop
- MAUI - Crossplatform desktop
- MVC - server based web site
- Blazor - browser based web solution
- Modul 8Threads, Tasks and asynchronous code
Implementing multitasking
- The Task class
- System delegates Action<> and Func<>
Handling concurrency
- Lock'ing
- Thread safe collections
- Modul 9Tuples, indices and ranges
Python anyone?
- Tuples
- Deconstructors
- Slicing arrays
- Modul 10Assemblies and reflection
What is an assembly
Introduction to Reflection
Creating and using attributes
- Modul 11Basic Cryptography
Symmetric encryption
Asymmetric encryption
X509 Certificates
Er du i tvivl?
Det ligger os meget på sinde, at du finder det kursusforløb, der skaber størst værdi for dig og din arbejdsplads. Tag fat i vores kursusrådgivere, de sidder klar til at hjælpe dig!