Sử dụng SimpleIoc MVVM, tôi muốn đăng ký một thực hiện cho một giao diện nhất định, nhưng việc thực hiện đòi hỏi một tham số trong constructor của nó:MVVM SimpleIoc, làm thế nào để sử dụng một giao diện khi thực hiện giao diện đòi hỏi các thông số xây dựng
public class MyServiceImplementation : IMyService {
public MyServiceImplementation(string contructorString) { ... }
}
Tôi đã hy vọng rằng việc đăng ký thực hiện giao diện sẽ hoạt động, nhưng SimpleIoc không xem xét gợi ý khi nó cố gắng giải quyết giao diện.
SimpleIoc.Default.Register<MyServiceImplementation>(() => {
return new MyServiceImplementation("Hello World");
});
SimpleIoc.Default.Register<IMyService, MyServiceImplementation>();
Có cách nào để làm điều này với SimpleIoc hay tôi nên cân nhắc sử dụng Ioc hoàn chỉnh hơn?
Chỉnh sửa: Điều này thực hiện thủ thuật, nhưng tôi vẫn tự hỏi tại sao biểu mẫu ở trên không hiệu quả.
SimpleIoc.Default.Register<IMyService>(() => {
return new MyServiceImplementation("Hello World");
});
Cảm ơn @Obalix, đó là chắc chắn một workaround đẹp hơn của riêng tôi! –