You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
La méthode ToString() est une composante clé de l'écosystème .NET. Elle permet d’obtenir une représentation textuelle d’un objet. Bien que pratique pour l’affichage ou le débogage, sa redéfinition (override) est souvent mal utilisée : elle finit par porter une logique métier déguisée, compromettre la clarté du code et introduire des bugs subtils.
Dans ce document, on revient sur ce qu’est réellement ToString(), quand il est pertinent de la redéfinir et surtout quelles erreurs éviter.
Récupère un access_token en clair depuis le Credential Manager Windows
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
L'Ére du "Tout Gratuit" Touche-t-elle à sa Fin dans l'Open Source .NET ? L'Ombre de l'IA Plane...
L'Ére du "Tout Gratuit" Touche-t-elle à sa Fin dans l'Open Source .NET ?
L'Ombre de l'IA Plane... 🤖
L'écosystème .NET est en pleine effervescence, et une onde de choc traverse la communauté : des piliers tels que MediatR et MassTransit annoncent une transition progressive vers des licences commerciales. Cette nouvelle, qui fait écho au modèle adopté par Prism par le passé, soulève une question fondamentale : l'âge d'or de l'open source entièrement gratuit est-il derrière nous ?
Avec des chiffres de téléchargement impressionnants (plus de 286 millions pour MediatR et 130 millions pour MassTransit), ces bibliothèques sont au cœur de nombreux projets .NET. Leur passage à un modèle payant n'est pas anodin et mérite une analyse approfondie.
MediatR et MassTransit : Un Tournant Nécessaire ?
L'annonce, bien que progressive pour MediatR, est plus concrète pour MassTransit, qui prévoit une sortie sous licence commerciale pour le premier trimestre 2026. Les raisons invoquées par les mainteneurs sont claire
Le langage Overpass QL est utilisé pour effectuer des requêtes sur la base de données OpenStreetMap. Ce langage permet de récupérer des objets géographiques en utilisant des critères spécifiques. Il est particulièrement utile pour extraire des données détaillées depuis les serveurs Overpass. (https://overpass-turbo.eu/)
Structure d'une requête
Une requête Overpass QL se structure de la manière suivante :
Le mot-clé unsafe en C# permet de manipuler directement la mémoire à l'aide de pointeurs, ce qui est généralement interdit en programmation managée. Il existe pour :
Optimiser les performances : Accès direct à la mémoire peut être plus rapide dans certains cas.
Interopérabilité : Facilite l'intégration avec du code natif en C/C++.
Manipuler des structures mémoire spécifiques : Utile pour le traitement bas-niveau, comme les moteurs de jeu ou certaines applications système.
L'Inversion de Contrôle (IoC) est un principe de conception qui consiste à déléguer la gestion du flux de contrôle et de la création des objets à un conteneur ou framework, afin de réduire le couplage entre les composants d'une application.
Couplé au principe de DI, Cela permet de réduire le couplage entre les composants d'une application, améliorant ainsi la flexibilité et la testabilité du code.
Injection de Dépendances (Dependency Injection - DI)
Introduction
L'injection de dépendances (DI) est un principe fondamental de l'architecture logicielle visant à découpler les composants d'une application. Elle permet de centraliser la gestion des dépendances en évitant la création d'instances directement dans les classes, améliorant ainsi la testabilité, la maintenabilité et la flexibilité du code.
Avant de comprendre pleinement l'injection de dépendances, il est essentiel de maîtriser le concept d'Inversion de Contrôle (IoC). IoC est un principe selon lequel le contrôle de la création des objets et de leur gestion de cycle de vie est transféré d'un programme à un conteneur externe. DI est l'une des implémentations de l'IoC, où les dépendances sont injectées dans une classe plutôt que créée en son sein. Comprendre IoC permet de mieux appréhender les mécanismes qui sous-tendent DI et
Benchmark qui compare l'instanciation d'un SolidColorBrush avec l'utilisation de l'instance statique Brushes.Red.
Benchmarking Brushes en .Net
Introduction
L'utilisation des objets graphiques en C# a un impact direct sur les performances et la gestion mémoire. Ce benchmark compare l'instanciation d'un SolidColorBrush avec l'utilisation de l'instance statique Brushes.Red.
Pourquoi éviter de stocker des IEnumerable<T> en propriété d’objet en C# ?
Pourquoi éviter de stocker des IEnumerable<T> en propriété d’objet C# ?
Introduction
L’interface IEnumerable<T> est très utilisée en C# pour représenter des collections, mais l’utiliser comme propriété d’un objet est une erreur courante, notamment chez les développeurs moins expérimentés. Cela peut entraîner des comportements inattendus, des problèmes de performance et compliquer le débogage. Voici pourquoi cette pratique est à éviter et quelles alternatives préférer.
IEnumerable<T> ne stocke pas de données, mais représente une séquence qui s’évalue à la demande. Si la source sous-jacente change ou devient indisponible, cela peut provoquer des erreurs.