mai
2007
Alors que l’on récupère la plus part des répertoires comme Mes documents, Historique, Bureau, etc. à partir de Environment.GetFolderPath Il y a (au moins) une exception : le répertoire Temp que l’on récupère comme ceci Path.GetTempPath()
mai
2007
Comme je l’ai déjà dit précédemment (le 27 avril et 23 mai), à partir d’Orcas Beta 2, la notion de partial method fera son apparition. Vous trouverez plus d’informations sur le sujet ici.
mai
2007
Imaginons le code suivant : public class Test { public void Toto() { } } public static class ObjectExtension { public static void Toto(this object o) { } } (new Test() as object).Toto(); appelle logiquement l’extension method. En revanche, quand le designer nous propose la méthode Toto sur (new Test() as object), il lui met le symbôle des méthodes et non celui des extension methods.
mai
2007
Petite précision : ceci relève plus du domaine de l’amusement que du domaine du sérieux. Hier j’avais blogué sur la possibilité de condenser le code grâce aux extension methods et aux lambdas expressions. Je me suis amusé à définir plus que le foreach : public delegate void Action(); static class Extension { public static void ForEach<T>(this IEnumerable<T> sequence, params Action<T>[] actions) { foreach (T t in sequence) […]
mai
2007
Après avoir reçu mon diplôme MCTS, je viens de recevoir mon diplôme MCTS .NET Framework2.0 Windows Applications (merci freddyboy pour le lien). Ce dipôme intègre les certifs 70-536 et 70-526. Sinon, je ne l’avais pas précisé hier (en fait c’était plutôt ce matin :D) mais dans ma nouvelle version de DataBinding avancé, il y a une expression régulière pour valider les plaques d’immatriculation française. Si quequ’un en a besoin…
mai
2007
Créer une extension method ForEach sur l’interface IEnumerable<> qui prend en paramètre un param de Action<>. Il fallait y penser et oser le faire !
mai
2007
Dans le blog suivant, on voit une implémentation de factoriel assez complexe. Une implémentation simple est la suivante : Func<int, int> fac = null; fac = x => x == 0 ? 1 : x * fac(x – 1); Pour pouvoir écrire la deuxième ligne de code, on est obligé d’initialiser fac à null. Mais comme l’apel de fac se fera plus tard, il sera redéfini par la deuxième ligne (et ne sera plus égal […]
mai
2007
J’avais précédemment posté sur le fait que VS Orcas Beta 2 intégrerait les partials methods. Cependant, je me demandais bien à quoi cela pouvait servir. Je pense avoir trouvé un début d’explication : Dans le cas d’une classe, vous pouvez appeler une méthode virtuelle qui ne fait rien afin que des classes dérivées puissent rajouter du code. Je pense que c’est la même chose. Les méthode générées par le designer appellent des méthodes partial (donc […]
mai
2007
En C#, depuis VS 2005, quand vous tapez le nom d’une classe pour laquelle vous n’avez pas fait le using, vous avez la possibilité de le rajouter automatiquement via l’intellisence. Pas en VB :(. Comme vient de le faire remarquer Daniel Moth sur son blog, avec Orcas cela est également possible en VB ! Cependant, en VB, cela n’est possible que lorsque vous quittez la ligne alors qu’en C#, c’est dès qu’on tape le nom […]
mai
2007
Dans un post précédant, j’avais mis en évidence une certaine ressemblance entre les objects initializer et les attributs. L’intellisence lui n’est pas équivalent. En effet, dans le cas des objects initializer, une fois que vous avez initialisé une propriété, celle-ci n’est plus proposée par l’intellisence alors que pour les attributs si.