février
2007
En VB, on a la possibilité d’implémenter une méthode d’une interface en private / protected / friend et surcharger les méthodes pas en C#. Public Interface ITest Sub Test() End Interface Public Class Class1 Implements ITest Protected Overridable Sub Test() Implements ITest.Test Console.WriteLine("Test1") End Sub End Class Public Class Class2 Inherits Class1 Protected Overrides Sub Test() […]
février
2007
Bonjour à tous, J’ai finit d’enregistrer mon premier webcast. Celui-ci traite de C# 3.0 et dure 19 mins. Je n’aurais jamais pensé passer autant de temps pour faire ça mais bon, je pense que mon côté perfectionniste et mon inexpérience dans ce domaine ne m’ont pas aidé. Dès que j’aurais tout assemblé, je le mettrais en téléchargement http://matthieumezil.developpez.com/. Ne vous inquiétez pas, vous serez prévenu quand je le ferai. Un grand merci à Mitch et […]
février
2007
J’ai posté mon article sur le C# 3.0. Je serai sûrement ammené à le mettre à jour mais si vous avez des remarques n’hésitez surtout pas. Pour le webcast, je l’ai finit mais comme je l’ai fait sur deux portables différents avec 3 micros différents, le résultat n’est vraiment pas terrible. Si j’ai le courage, je le referrai, sinon, je vous le mettrai en l’état dans les jours qui viennent. Franchement, j’adore C# 3.0 ! […]
février
2007
J’ai mis à jour mon article sur C# 3.0. J’ai utilisé les extension methods pour faire du pseudo multi-héritage. Pour le webcast, je vais essayer de le refaire ce week-end.
février
2007
J’ai (encore) mis à jour mon article sur le DataBinding avancé. J’ai rajouté dans mon code un exemple illustrant le formattage des données bindées. De plus, j’ai utilisé un peu plus de Réflexion et de Regex que dans la version précédente. J’ai également utilisé un opérateur pas très connu : le ??.
février
2007
Une fois de plus sur C# 3.0, je me suis uniquement concentré sur les extension methods dans ce deuxième webcast. N’hésitez pas à me donner votre avis.
février
2007
J’ai fait une découverte intéressante aujourd’hui en utilisant un StrongNameIdentityPermissionAttribute. Sur les attributs, afin d’éviter de devoir créer 50 constructeurs, on peut utiliser un équivalent des object initializer : public class Class1 { [MyAttribute(Test1 = "un")] public void Test1() { } [MyAttribute(Test2 = "deux")] public void Test2() { } [MyAttribute(Test1 = "un", Test2 = "deux")] […]
février
2007
Quand on duplique une déclaration, on a l’erreur de suite en VB alors qu’il faut compiler pour l’avoir en C#. En revanche, les erreurs de duplication de déclaration en VB sont surprenantes dans le sens où sur une propriété ou sur un champ, ce n’est pas le même qui a l’erreur : sur la propriété, c’est le premier alors que sur le champ, c’est le second. En C#, c’est tout le temps le premier :
février
2007
Les extension methods permettent d’écrire o.MyMethod() à la place de MyClass.MyMethod(o) dans (le cas d’une méthode static). En VB, il existe un intermédiaire : o.MyMethod(o). En fait, on a accès aux méthodes statiques du type de o directement (le code IL est bien MyClass.MyMethod(o)). Sous VS 2005, on a un warning quand on fait des choses comme ça. En effet, autant cela peut être pratique, autant cela peut permettre d’écrire du code assez surprenant. Voici […]