Méthodes d’extensions: attention aux surprises 2/2
je reviens sur mon billet précédent en modifiant légèrement mon API:
using System;
namespace System.Data
{
private static class Extentions
{
public static void DoSomething(this IDbConnection cnx)
{
//plein de truc à faire
}
}
}
J’ai modifié mon programme pour tenir compte du type renvoyé et voici ce qu’Intellisense me propose:
Mon extension n’est toujours pas là! C’est encore la même raison: l’espace de nom de l’extension n’est pas utilisé dans mon programme même si l’espace de nom de la classe SqlCommand est bien présent. Il faut donc modifier le code en ajoutant “using System.Data”:
Un conseil donc: lorsque vous déclarez des méthodes d’extensions sur des interfaces ou non, bien préciser dans la documentation qu’il faut ajouter l''espace de nom correspondant!
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :