mai
2007
A ma grande surprise, la méthode Copy n’existe pas sur la classe Directory. Bien que je pense que cela a déjà été fait 1000 fois et qu’on peut sûrement trouver plein de sources sur le web, je l’ai refaite : public static class DirectoryExtension { public static bool Copy(string sourcePath, string destPath) { if (!Directory.Exists(sourcePath)) throw new IOException(); […]
mai
2007
Si vous voulez utiliser des caractères spéciaux dans une chaîne de caractère il y a au moins deux manières de faire. Prenons l’exemple du caractère ‘\’ : "a\\a" qui donnera « a\a » @"a\a" qui donne « a\a » En revanche, avec les caractères, il n’est pas possible de faire @’\’. Il faudra passer par ‘\\’.
mai
2007
Je viens d’être assez surpris par les local variable type inference (le mot clé var en C# 3.0). Quand je fais : var table = new DataTable(); table.Rows.Add(table.NewRow()); var row = table.Rows[0]; Pas de problème, row est bien de type DataRow. En revanche, si je fais : foreach (var row2 in table.Rows) row2 est de type object !
mai
2007
En C#, dans le cas suivant : public static string Test() { } Vous avez une erreur à la compilation : « not all code paths return a value » En VB, avec ceci : Public Shared Function Test() As string End Function Vous n’avez qu’un warning. Passons. Ce qui est plus surprenant c’est quand vous utilisez des generics. En effet, alors qu’en C#, ceci : public static T Test<T>(T obj) { } génèrera toujours une erreur […]
mai
2007
Après avoir traité la SortableBindingList<T>, Tim Van Wassehove vient de traiter la TypedList<T>. Pour info, j’avais utilisé une TypedList dans mon article sur le DataBinding avancé.
mai
2007
Je voulais modifer l’ordre des colonnes d’un DataGridView. Mon premier réflexe a été de faire un remove sur la collection Columns puis un Insert. Mais là surprise, l’ordre n’avait pas changé. En réalité, il faut juste changer la propriété DisplayIndex de la colonne. Pas besoin de faire un Remove. Vous retrouverez cette information sur le site msdn.
mai
2007
J’ai perdu du temps sur un problème pourtant très simple : J’avais une DataGridView dont la source était une BindingSource. Parmis les colonnes, il y en avait une de type DateTime que j’avais formatté pour ne voir que la date. Je voulais filtrer mon DataGridView. J’ai utilisé pour cela un DateTimePicker (deux en réalité mais pour simplifier, on va dire un seul). Et très simplement, j’ai fait ceci : bindingSource1.Filter = "dateColumn = #" + […]
avril
2007
Imaginons le cas suivant : public interface I1 { } public class C1 : I1 { } public class MyClass { private C1 _classProp = new C1(); public C1 ClassProp { get { return _classProp; } set { _classProp = value; } } } public class MyControl : ComboBox { private I1 _ctrlProp; public I1 CtrlProp { get { return […]
avril
2007
Le 6 novembre, Mitsuru Furuta nous présentait via une vidéo son control WPF « Flip page ». Il a depuis amélioré le concept et il nous présente son control WPF « Book ». Ce qui est génial c’est que ce coup-ci, il met les sources à dispo.