Ich habe versucht, Rhino Mocks mit F # Code, und der folgende Code war ein problematischer zu verwenden:Kann eine generische Erweiterungsmethode in F # definiert werden?
let service = MockRepository.GenerateMock<IMyService>()
service.Stub(s => s.Name).Return("Service");
Das war keine Überraschung, da Stub nicht Teil IMyService Schnittstelle ist, es ist eine Erweiterung C# Methode, die Rhino Mocks definiert.
Slighltly modifizierte Code funktioniert:
let service = MockRepository.GenerateMock<IMyService>()
RhinoMocksExtensions.Stub<IMyService, string>(service, fun s -> s.Name).Return("Service");
Allerdings wäre es schön, eine Erweiterungsmethode in F # zu definieren, aber dann wird es eine parametrisierte generische Erweiterungsmethode, die ein Tupel nehmen würde. Ich habe Varios Syntax versucht, aber ohne Glück. Ich habe keine Information gefunden, ob dies momentan in F # unterstützt wird oder nicht. Wenn jemand weiß, lass es mich wissen.
Danke für die Antwort! –