Routed events en WPF en 3 min

Les évènements routés WPF (i.e. routed events) sont très similaires aux évènements classiques en .NET: Ils sont définis dans un objet, Peuvent être déclenchés par un objet différent du premier et Conduisent à l’exécution d’une callback ou plusieurs callbacks définies dans une 3e série d’objets. La grande différence entre les évènements routés WPF et les…

Continuer à lire

Arbre logique et arbre visuel WPF en 2 min

En WPF, les éléments visuels sont organisés hiérarchiquement avec une structure en arbre: des éléments sont ajoutés au contenu d’autres éléments formant des nœuds dans un arbre d’objets. Le developpeur implémente les relations entre les objets formant ainsi un arbre logique (i.e. logical tree). Lorsque les objets sont dessinés puis affichés au runtime, les relations…

Continuer à lire

Quelques méthodes pour cloner des objets en .NET

Parfois pour certains traitements, il est nécessaire de cloner l’instance d’un objet en une ou plusieurs autres instances distinctes. Suivant la complexité de l’objet ou suivant le nombre de copies nécessaires, cette copie peut être plus ou moins complexe à effectuer. D’autre part, dans le cas où on veut dupliquer un objet en plusieurs instances,…

Continuer à lire

“Expression trees” en 2 min

Quelques définitions en préambule Avant de rentrer dans les détails des arbres d’expression (i.e. expression trees), il faut définir quelques termes. Delegate Il s’agit du type d’une référence vers une méthode comportant une signature particulière. Le delegate définit donc le type de la référence et non pas la référence elle-même. Par exemple, en C# un…

Continuer à lire

Documentation du code C# en 1 min

Il est possible d’ajouter de la documentation dans du code C# et de générer cette documentation vers des fichiers XML à la compilation. Il est souvent difficile de maintenir une documentation du code à jour car très souvent quand on modifie le code, on oublie de répercuter ces modifications dans la documentation. La documentation peut…

Continuer à lire

Exceptions possibles en utilisant XmlSerializer

Quand on utilise la classe System.Xml.Serialization.XmlSerializer, outre les erreurs classiques de sérialisation/désérialisation il peut survenir des exceptions sans qu’on est fait de changement particulier dans le code. On ne comprends pas toujours facilement l’origine des ces exceptions car le code ne semble pas avoir changé et qu’il a toujours bien fonctionné auparavant. Ces exceptions sont…

Continuer à lire

C++/CLI en 10 min: Références

PARTIE 1 PARTIE 2 PARTIE 3 PARTIE 4 Préambule Rappels C++ Caractéristiques générales Syntaxe de base Syntaxe détaillée Références Références Livres: Microsoft Visul C++/CLI Step by Step: https://www.amazon.com/Microsoft-Visual-CLI-Step-Developer/dp/0735675171 Expert Visual C++/CLI: .NET for Visual C++ Programmers: https://www.amazon.com/Expert-Visual-CLI-Programmers-Experts/dp/1590597567 Sams Teach Yourself C# in 21 Days: https://www.amazon.fr/Sams-Teach-Yourself-21-Days/dp/0672320711 Généralités: C++/CLI Cheat Sheet: http://manski.net/2011/04/cpp-cli-cheat-sheet/ Introduction au monde du C++/CLI:…

Continuer à lire

C++/CLI en 10 min, partie 4: Syntaxe détaillée

PARTIE 1 PARTIE 2 PARTIE 3 PARTIE 4 Préambule Rappels C++ Caractéristiques générales Syntaxe de base Syntaxe détaillée Références Dans cette partie, on détaille la syntaxe d’autres éléments en C++/CLI. Sommaire nullptr typedefs namespace Héritage   Méthode virtuelle   Sealed Méthode statique et classe statique Classe abstraite Interface Les chaines de caractères   Chaines de caractères non managées…

Continuer à lire