Convertir un String en MemoryStream (et inversement)

Voici un cas que l’on retrouve assez fréquemment mais dont la solution s’oublie malheureusement assez vite : il s’agit de la conversion d’une chaîne de caractères (String) en flux de données (Stream). Voici un petit rappel des méthodes à utiliser et des pièges à éviter, ainsi qu’une explication sur la différence entre ces deux classes. Lire la suite…

Categories: Articles Tags: , , ,

KeyNotFoundException et la collection Dictionary

La classe Dictionary (version générique de la HashTable) est sans doute l’une des collections du .NET Framework les plus utilisées, après la List<>. Elle permet de retrouver très rapidement un élément par l’intermédiaire de sa clé. C’est une classe très performante qui souffre cependant d’un petit défaut à mon avis : sa gestion d’erreur en cas d’absence d’une clé. Nous allons donc essayer d’analyser plusieurs solutions pour résoudre ce problème. Lire la suite…

Le Masquage en C#

Le terme « masquage » (hiding en anglais) désigne une technique assez peu connue en C# permettant de masquer ou d’occulter un membre d’une classe de base. Globalement, le principe est très semblable à celui de la substitution (overriding), mais son utilisation répond à des cas précis, et son comportement final réserve parfois quelques surprises que nous allons essayer d’aborder dans cet article. Lire la suite…

Categories: Tutoriels Tags: , ,

Application Desktop Ants

Au fil des années, j’ai fini par accumuler de nombreux petits programmes que j’ai développé pour résoudre certains problèmes, tester de nouvelles fonctionnalités, ou simplement pour bénéficier d’outils personnalisés. La plupart sont très courts et me servent surtout de réservoirs à code dans lesquels je peux y retrouver facilement des exemples pour les problèmes auxquels j’ai déjà été confronté. C’est pourquoi je vais essayer d’en présenter plusieurs sur ce site, avec leur code source et la liste des différents cas intéressants qu’ils abordent, une fois que j’aurai fini de les rendre suffisamment présentables pour une publication !

Desktop AntsVoici donc le premier projet de cette nouvelle catégorie : une application Windows Forms nommée Desktop Ants (Fourmis de bureau). Derrière ce nom un peu bizarre se cache une petite application graphique dessinant le trajet de « fourmis » sur l’écran et qui pourrait en fait être utilisée en tant qu’écran de veille (avec quelques retouches au code). Son principal intérêt est de présenter l’utilisation des anciennes librairies graphiques du GDI32 via l’espace de nom System.Runtime.InteropServices.

N’oubliez pas de lire la description complète de ce programme ici !

Accéder aux projets

 

Configurer un proxy dans une application C#

Le .NET Framework fournit de nombreuses classes pour gérer les transferts de données via Internet, qui ne sont pas seulement utiles pour les applications web. L’espace de nom System.Net peut aussi servir à des applications Windows, pour mettre au point un système de mises à jour automatiques, gérer un ftp, télécharger un fichier, etc. Pour tout ce qui concerne les communications réseau en fait. Cependant une application Windows qui souhaite envoyer une simple requête Http (à l’aide d’un objet WebRequest) peut très bien fonctionner sur un réseau domestique, mais être systématiquement bloquée sur un réseau d’entreprise. En général, cela se traduit par une « WebException » avec pour détails : « The remote server returned an error: (407) Proxy Authentication Required. ». Lire la suite…

Categories: Articles Tags: , , , ,

Nouveautés de Silverlight 3.0

Pour ceux qui s’intéressent à Silverlight, dont la version 3.0 est récemment sortie, n’hésitez pas à découvrir ce livre blanc de Julien Dollon au format PDF (50 pages) :

Nouveautés de Silverlight 3 par Julien Dollon

Categories: Actualités Tags: