J'ai une DLL C++ d'un tiers que j'appelle depuis C#.
Les méthodes sont statiques.
Je veux l'abstraire pour faire des tests unitaires et j'ai donc créé une interface avec les méthodes statiques mais maintenant mon programme se plante avec :
Le modificateur 'static' n'est pas valide pour cet article.
MyMethod cannot be accessed with an instance reference; qualify it with a type name instead
Comment puis-je réaliser cette abstraction ?
Mon code ressemble à ceci
private IInterfaceWithStaticMethods MyInterface;
public MyClass(IInterfaceWithStaticMethods myInterface)
{
this.MyInterface = myInterface;
}
public void MyMethod()
{
MyInterface.StaticMethod();
}
4 votes
Vous pouvez peut-être le faire avec des méthodes d'extension : stackoverflow.com/questions/1243921/