août
2007
WPF a introduit la notion de dependency property. David Catuhe vient de publié un article très intéressant sur le sujet.
août
2007
Microsoft ouvre un blog dédié aux « white hackers ». On y trouvera très probablement des infos relatives à la sécurité particulièrement intéressantes.
août
2007
Scott Guthrie vient de poster son 7ème post sur sa série de post consacrée à l’utilisation de LINQ To SQL avec Visual Studio 2008.
août
2007
Comme vient de l’annoncer Charlie Calvert une nouvelle version (à priori la dernière) des specs de C#3.0 est disponible ici. Si vous voulez vous concentrer uniquement sur les nouveautés C# 3.0, les specs sont ici. (On passe de 519 à 30 pages !!!)
août
2007
Comme l’explique Bart de Smet, en VB9, l’option Infer permet d’activer / désactiver l’utilisation des implicitly typed local variables. Par défaut, celle-ci sera activée.
août
2007
Dans le cas d’une méthode (non statique) qui renvoit this, l’IL fait un pop même s’il a besoin de l’instance juste derrière : private static void Main(string[] args) { StringBuilder sb = new StringBuilder(); sb.Append("azerty"); Console.WriteLine(sb); } donne l’IL suivant : .method private hidebysig static void Main(string[] args) cil managed { .entrypoint .maxstack 2 .locals init ( [0] class [mscorlib]System.Text.StringBuilder sb) […]
août
2007
Comment récupérer un IEnumerable par morceau ? Avec son Enumerator bien sûr. Ok jusque là c’est pas très dur. Cependant l’avantage d’un IEnumerable c’est de pouvoir faire un foreach dessus. Et le foreach commence par faire un reset sur le IEnumerable, ce qui nous fait perdre l’état courant. Du coup, comment récupérer un IEnumerable par morceau sous la forme d’un IEnumerable ? Voilà la solution que je propose : public static class Test { […]
août
2007
Je voulais faire une la requête SQL toute simple : SELECT <mes colonnes> FROM <ma table> WHERE <ma colonne> = <ma valeur> était de type nvarchar et je voulais tester avec = ‘ J’ai bien essayé WHERE <ma colonne> = ‘\ » mais ça ne marche pas. Pierre m’a donné la bonne solution : WHERE <ma colonne> = » » Comme me l’a fait remarqué Mitch, il existe une syntaxe semblable en C# : @"Hello ""Matthieu"""
août
2007
L’IL généré par le compilateur peut être réduit. Prenons un exemple tout simple : public static string Test(string s) { return s.ToUpper(); } L’IL généré par le compilateur est le suivant : .method public hidebysig static string Test(string s) cil managed { .maxstack 1 .locals init ( [0] string CS$1$0000) L_0000: nop L_0001: ldarg.0 L_0002: callvirt instance string […]
août
2007
Quand une méthode est définie internal protected, c’est un OU qui est fait (idem pour protected internal). Par conséquent, cette méthode sera utilisable depuis une classe fille ou une classe de l’assembly. En C#, il n’y a pas de internal ET protected. Pourtant, cette possibilité existe au niveau de l’IL. En effet, quand on crée une méthode à la volée via MethodBuilder, on peut définir la méthode Private, FamANDAssem, Assembly (internal), Family (protected), FamORAssem ou […]