Arguments nommés et arguments par défaut en C#4
Guest post de Jb Evain.
J’ai un nouveau pet-peeve [1]. Mais comme pour beaucoup d’entre eux, c’est parce que je me suis longtemps fait avoir. Now that I saw the light, et que je ne me trompe guère plus, voir les autres se tromper m’est tout bonnement insupportable. D’ailleurs mon introduction est amusante, car beaucoup de français ont pour «pet-peeve» l’over utilisation des mots anglais dans une phrase française. Moi qui passe ma journée à lire et à écrire de l’anglais, ça ne me choque plus, vous savez.
(more…)
Convertir implicitement des delegates ayant la même signature
Hier soir, je tombe sur un tweet de Krzysztof Koźmic :
Do I care if it’s Predicate<int> or Func<int>? No, than why won’t C# compiler just live me alone and pick whatever it needs? I DONT CARE
Et là je me dis HAHA LOL MAIS N’IMPORTE QUOI Predicate<int>
et Func<int>
c’est très différent voilà une bonne occasion pour moi qui ne suis rien de reprendre gratuitement un des contributeurs principaux de Castle sur une étourderie. Et je lui fais remarquer, en gros :
Switch sur un type en C#
Si vous avez besoin de faire un switch sur un type en C#, la première chose qu’il vous faut faire est de vous demander si vous avez besoin de faire un switch sur un type. Ensuite, demandez-vous si vous avez vraiment besoin de faire un switch sur un type, et forcez-vous à imaginer une solution tirant partie du polymorphisme (c’est presque toujours possible). Si pour une raison quelconque (imaginons-la tout de même légitime), vous ne pouvez pas faire autrement, alors voici ce qu’il faut éviter de faire :
(more…)
Tout ce que vous n’avez pas besoin de savoir au sujet du mot clé event
Vous ne vous êtes jamais demandé à quoi servait, en C#, le mot clé event
? Moi oui. Et je vais même jusqu’à poser la question d’une certaine façon aux gens qui m’entourent, sauf peut-être dans la ligne 2 du métro :
— A quoi ça sert, le mot clé event ?
— Bah, à déclarer des events.
— Oui, mais ça marche pas sans le mot clé event ? En écrivant juste, par exemple :
public EventHandler Click;
— Heu, si, je crois.
— Donc, à quoi ça sert, le mot clé event ?
— T’es relou, dégage.
Notez qu’à l’oral, il n’y a pas la coloration syntaxique. Je suppose que c’est ce qui conduit assez régulièrement mes interlocuteurs à être désagréables. (J’aime pas les gens désagréables !)
Je ne suis pas Joel Spolsky
Je ne sais pas si vous avez remarqué, mais Joel a carrément sauté le requin. Avant, son blog était maintenu, la plupart du temps drôle, et généralement intéressant. Maintenant, il ne poste plus rien, ou très rarement. Pire : souvent il ne poste que pour signaler qu’il vient d’écrire un article sur Inc. Du coup ses billets ressemblent à ça (sur 8 lignes) :
From my latest Inc. column : « Blah blah blah »
Bon, moi, je ne suis pas Joel Spolsky car je n’ai pas tenu 10 ans avant de sauter le requin.
(more…)
ALT.NET en France : Présentation AOP, c’est fait.
Je me demande si 91 slides valent 1000 mots. Vous pourrez essayer de vous faire une idée puisqu’elles sont disponibles ci-dessous. Je vous conseille de carrément télécharger la présentation si vous êtes intéressés par les animations, puisque certaines (lire : toutes) sont très logiquement tuées par SlideShare.
Bon, pour ma part j’ai trouvé que ça s’était plutôt bien passé considérant que je ne suis pas un speaker – au mieux un sale programmeur – même si j’imaginais une présentation un peu plus courte. J’ai parlé pendant 45 min, je crois, puis j’ai ouvert VS pour la « démo interactive » qui s’est un peu éternisée.
Je tiens encore à remercier FastConnect pour la salle, l’organisation, le buffet, etc.
(more…)
ALT.NET en France : Présentation AOP à Paris le 17 juin
Avant toute chose : Non, je ne chercherai pas à justifier le rythme misérable de mes publications sur ce blog. Et non, je ne m’excuserai pas de tricher lamentablement en postant aujourd’hui quelque chose d’aussi, heu, bref.
Je voulais vous informer, ou plus probablement vous rappeler, que j’allais commettre une présentation sur l’AOP, le 17 juin, à l’occasion de la 14ème rencontre ALT.NET Parisienne. Vous trouverez les détails pratiques sur notre joli site. Merci à FastConnect qui sponsorise l’évènement.
(more…)
Petit rappel sur le Disposing Pattern en C#
Ca fait longtemps que je veux faire ce post, au sujet d’une question trop souvent négligée : le disposing pattern. On peut voir ça comme un petit rappel, ou un post à classer dans la catégorie « back to basics ». En deux mots, il s’agit de gérer correctement la libération des ressources non-managées, dans un programme managé.
EDIT : Ce post est un poisson d’avril, évidemment. Il vaudrait mieux ne pas utiliser l’implémentation du disposing pattern proposée…
Nouveau site pour ALT.NET France
Enfin ! Nous avions un groupe de discussion depuis le début, et nous squattions à droite et à gauche lorsqu’il était nécessaire de communiquer et de s’organiser, mais depuis quelques jours nous avons notre vrai portail. Un grand merci à Julien pour son travail, et à ceux qui ont commencé à contribuer à l’élaboration du contenu :
Update 24/06/2017 : Bon, maintenant, c’est un-site-chinois !
ALT.Net est un groupe de développeurs .NET passionnés, cherchant à améliorer la façon dont les logiciels sont développés. Nous reconnaissons qu’il n’y a pas de solution unique à un problème mais qu’il y a une multitude d’alternatives pouvant être appliquées dans différentes situations.
Si les types étaient des animaux, TypedReference serait un ornithorynque
Devinette : C’est un type valeur, mais on ne peut pas le caster en object
. Il est impossible d’en déclarer des tableaux. On ne peut l’utiliser que pour typer les paramètres de méthodes et les variables locales. Il existe 4 mots clés non documentés en C# qui lui sont directement reliés, et autant d’opcodes en CIL. Il permet notamment le support des varargs, et exactement 8 personnes dans le monde se sont souciées plus de 5 min de son existence.
Je veux parler, bien évidemment, de TypedReference
. Je vous propose de découvrir ce type à partir d’un exemple rigolo.
(more…)
27 comments