mars
2007
C’est une excellente initiative de Microsoft que j’ai appris via la newsletter msdn. Vous pouvez maintenant rajouter du contenu dans la librairie msdn.
mars
2007
J’ai eu une surprise avec le DataBinding tout à l’heure. Imaginons le code suivant : public class Class1 { private Class2 _c2; public Class2 C2 { get { return _c2; } set { _c2 = value; } } } public class Class2 { private string _text; public Class2(string text) { _text = text; } public string Text […]
mars
2007
L’attribut DefaultValue est très pratique quand on ne veut pas « pourrir » les .designer et / ou quand on veut modifier la valeur par défaut d’une propriété, cependant, l’utilisation de cet attribut en VB est assez surprenante quand on veut affecter Nothing comme valeur par défaut. En C#, on peut écrire : public class Test { } public class Test2 { [DefaultValue(null)] public Test Test […] } Le problème en VB, c’est […]
mars
2007
J’avais déjà vu différentes façon d’implémenter de façon « thread safety » le design pattern singleton (je vous conseille d’ailleurs ce site), mais je n’avais encore jamais vu celle utilisée dans la classe SR du Framework : private static object InternalSyncObject { get { if (s_InternalSyncObject == null) { object obj2 = new object(); Interlocked.CompareExchange(ref s_InternalSyncObject, obj2, null); } […]
mars
2007
Comme nous l’apprend Chris Lyon, une surcharge de la méthode Collect de la classe GC fait son apparition avec la CTP de Mars.
mars
2007
Je souhaitais obtenir la longueur maximale validée par un pattern de Regex. N’ayant pas trouvé, je l’ai codé moi-même. C’est comme ça que j’ai trouvé l’erreur dans Reflector dont je parlais hier. Mon projet ne permet pas de prendre en compte tous les Regex possible mais j’ai traité ceux dont j’avais besoin sur mon projet professionnel du moment. Au final, j’ai fait un projet test que je trouve bien sympa et qui mélange des notions […]
mars
2007
Vous trouverez ici un très bon article sur les extension methods en VB 9 avec notemment dans la partie Best practice une excellente idée : Utiliser les namespaces des class qu’on veut étendre.
mars
2007
Grâce à C# 3.0, le code suivant : public partial class Form1 : Form { public Form1() { InitializeComponent(); List<Personne> list = new List<Personne>(); list.Add(new Personne("Z", "A")); list.Add(new Personne("A", "Z")); list.Add(new Personne("A", "A")); bindingSource1.DataSource = list; } } public class Personne { private string _nom; private string _prenom; public Personne(string nom, string prenom) […]
mars
2007
Depuis la CTP de Mars de Orcas, la dll System.Core est directement inclue dans les modèles de projet. C’est une excellente chose. Pour rappel, vous avez besoin de cette dll pour utiliser les extension methods.
mars
2007
En l’espace de deux semaines, j’ai eu deux mésaventures avec Reflector : la première, une exception quand je voulais voir le code d’une propriété pourtant relativement simple. (Je n’ai pas réussi à le reproduire dans un autre exemple) => message automatique envoyé à Denis Bauer. la deuxième, aujourd’hui même. Je récupère l’integralité du namespace RegularExpression et là surprise, la classe Regex ne fonctionne pas correctement. Ca m’a obligé à bien me plonger dedans pour comprendre […]