Comme il n'est pas possible de remplacer une classe statique dans C#, si je souhaite remplacer une méthode, je définis généralement un délégué correspondant à la signature de la méthode statique, puis modifiez la méthode selon :Meilleure pratique pour redéfinir les classes statiques
public static void foo(int bar)
{
if (delegatename!=null)
{
delegatename.Invoke(bar);
}
else
{
//execute previous code as normal
}
}
Je me sens un petit pincement de culpabilité, sachant que c'est un peu en désordre.
Quelqu'un peut-il proposer une solution plus propre à ce problème (autre que la réécriture de la structure d'origine)
Il serait utile si vous pouviez nous dire à quoi servent ces classes statiques. Si vous voulez pouvoir faire varier le comportement, l'utilisation d'une classe statique ressemble à un mauvais plan. –
Essayez de remplacer une méthode statique, ce qui n'est pas autorisé, est, dans son essence, une mauvaise pratique. Qu'est-ce que vous essayez d'accomplir? –