Je suppose que c'est aussi une question de conception. Est-il possible de remplacer une méthode d'une interface lorsque la signature de remplacement a un type de signature différent?Interface C# - implémenter avec une signature différente
Par exemple, permet de dire que je veux deux classes différentes qui devraient avoir les éléments suivants:
interface IProtocolClient
{
void connect(Type1 t1, Type2 t2, Type3 t3);
}
Serait-il possible de l'impelemt interfrace mais un jeu de paramètres différent?
class A : IProtocolClient {
public void connect(Type1 t1, Type2 t2, Type3 t3) {}
}
class B : IProtocolClient {
public void connect(Type1 t1, Type2 t2, Type3 t3, Type4 t4) {}
}
Ou devrais-je aborder en créant une classe de base au lieu, puis créer une méthode d'emballage en classe B tels que:
class B : IProtocolClient {
public void connect(Type1 t1, Type2 t2, Type3 t3, Type4 t4)
{
// do what is needed with t4 to customize and then ...
connect(t1,t2,t3);
}
public void connect(Type1 t1, Type2 t2, Type3 t3) {}
}
Ils devraient probablement utiliser des médicaments génériques au lieu de la liste, si c'est ce que vous proposez. –
jlafay
Ouais à peu près –