Tôi đang sử dụng Unity và Unity.AutoRegistration. Dòng này cho Unity:Sử dụng Unity, Làm cách nào để tự động chuyển một lớp chung với giao diện chung mà không cần đăng ký loại MỌI cho nó
unityContainer.RegisterType(typeof(IAction<>), typeof(Action<>));
hiệu quả đăng ký mỗi lớp trong dự án để IAction/Hành động:
unityContainer.RegisterType<IAction<ObjectA>, Action<ObjectA>>();
unityContainer.RegisterType<IAction<ObjectB>, Action<ObjectB>>();
unityContainer.RegisterType<IAction<ObjectC>, Action<ObjectC>>();
[...]
unityContainer.RegisterType<IAction<UnrelatedObject>, Action<UnrelatedObject>>();
[...]
Nhưng, tôi chỉ muốn đối tượng cụ thể được đăng ký. Tôi sẽ làm như thế nào? Tôi đoán là thêm một trang trí thuộc tính tùy chỉnh cho các lớp cụ thể.
[ActionAtribute]
public class ObjectB
{ [...] }
Và cố gắng sử dụng Unity.AutoRegistration. Đây là nơi tôi bị kẹt tại:
unityContainer.ConfigureAutoRegistration()
.Include(If.DecoratedWith<ActionAtribute>,
Then.Register()
.As ?? // I'm guessing this is where I specify
.With ?? // IAction<match> goes to Action<match>
)
.ApplyAutoRegistration();
Đó chính xác là những gì tôi cần! Cảm ơn bạn cho ví dụ. – Jaguir
Tôi không cho rằng có một cách để thực hiện điều này trong cấu hình bằng Unity 2.0? –