我有一个具体的类,它接受一组实现观察者模式的观察者。 我正在构建注入观察者列表。
如何使用Unity注册实现和混凝土?
例如:
public class MyService : IMyService
{
private IObserver[] _observers;
public MyService(params IObserver[] observers){
_observers = observers;
}
public void MyMethod(MyObject myObject){
foreach(var ob in _observers){
ob.Execute(myObject);
}
}
}
public class Ob1 : IObserver{
public void Execute(MyObject obj){
//do something
}
}
public class Ob2 : IObserver{
public void Execute(MyObject obj){
//do something
}
}
public class MyRegistry : UnityRegistry
{
public MyRegistry(){
///What Goes Here??
}
}
答案 0 :(得分:1)
我会做这样的事情。
status != HAL_OK
希望它有所帮助!
答案 1 :(得分:0)
你只需要为IObserver
的注册命名,Unity就能正确解析观察者数组:
public class MyRegistry : UnityRegistry
{
public MyRegistry()
{
Register<IMyService, MyService>();
Register<IObserver, Ob1>().WithName("observer1");
Register<IObserver, Ob2>().WithName("observer2");
}
}