Profundizar en C# y .NET
Esta formación está dirigida a desarrolladoras y desarrolladores que ya programan con C# y desean actualizar sus conocimientos al nivel del .NET moderno. Empezamos donde termina la formación básica: los genéricos, LINQ, la programación asíncrona, la memoria y los recursos, el código testeable y la arquitectura ocupan el lugar central.
Trabajamos cada tema con ejemplos prácticos como los que encontramos a diario en proyectos con complementos CAD y aplicaciones WPF. Después escribirá código más robusto, más fácil de probar y de mantener.
Dirigido a
- Desarrolladores de software con experiencia en C#
- Arquitectos de software
- Participantes de nuestra formación básica en C#
Conocimientos previos
- Dominio de la sintaxis de C# y de la orientación a objetos
- Primera experiencia con Visual Studio
Modalidad y duración
- 2 días
- Online, cómodamente desde casa
- En nuestras aulas de formación en Freiburg
- En sus instalaciones - solo a partir de un número mínimo de participantes
Fechas
- actualmente bajo petición
Material de los participantes
- Portátil
- Visual Studio 2022 o 2026 (basta con la edición Community)
- SDK de .NET actual (.NET 8 o posterior)
- Material de escritura
Aula de formación
- Proyector
- Pizarra blanca, pizarra o rotafolio
Contenido de la formación de 2 días: C# para avanzados
Día 1
- Resumen del día 1
- El sistema de tipos en detalle
- Tipos de valor y de referencia, struct y record
- Nullable Reference Types
- Pattern matching y expresiones switch
- Genéricos
- Clases y métodos genéricos
- Restricciones con where
- Covarianza y contravarianza
- Delegados, eventos y expresiones lambda
- Func, Action y delegados propios
- Suscribirse a eventos y cancelar la suscripción correctamente
- LINQ
- Consultas sobre colecciones
- Entender la ejecución diferida
- Métodos de extensión propios
- Ejercicios individuales
- Avance del día 2
Día 2
- Repaso (formación día 1)
- Resumen del día 2
- Programación asíncrona
- Tasks, async y await
- Cancelación con CancellationToken
- Errores típicos: interbloqueos (deadlocks) y async void
- Memoria y recursos
- Garbage Collector
- IDisposable y using
- Medir y mejorar el rendimiento
- Gestión de errores y logging
- Excepciones propias
- Logging estructurado
- Código testeable
- Pruebas unitarias con xUnit o NUnit
- Inyección de dependencias
- Mocking
- Arquitectura
- Principios SOLID
- Patrones de diseño en la práctica
- MVVM para interfaces WPF
- Ejercicios individuales
- Cierre
- ¿Dónde encontrar más información?
