インターフェイスをサポートする独自のクラスでラップする必要があります。あなたのサービスの利用には、次のようになりますたとえば:
var service = new SomeService();
service.SomeEvent =+ (o, e) => DoSomething(e);
service.DoStuff();
あなたは、インターフェイスを作成します:
public interface ISomeService
{
event EventHandler SomeEvent;
void DoStuff();
}
そして、あなたの実装クラス:
public class SomeServiceWrapper : ISomeService
{
private readonly SomeService _containedService;
public event EventHandler SomeEvent;
public SomeServiceWrapper()
{
_containedService = new SomeService();
_containedService.SomeEvent += (o, e) => RaiseSomeEvent(e);
}
public void DoStuff()
{
_containedService.DoStuff();
}
private void RaiseSomeEvent(EventArgs e)
{
EventHandler evt = SomeEvent;
if (evt != null)
{
evt(this, e);
}
}
}
その後、あなたはダミーを作成することができますISomeService
模擬や独自のダミークラスを使用して、ISomeService
インスタンスSomeServiceWrapper
を実稼働環境で使用します。
希望に役立ちます。