2009-09-08 18 views

Trả lời

5

trả lời từ Nate:

Multi-độ phân giải (qua GetAll) là hiện không đa hình. Điều đó có nghĩa là rằng nó sẽ chỉ xem xét các ràng buộc từ giao diện chính xác mà bạn chỉ định. Nếu bạn làm điều này:

kernel.Bind<IWorker>().To<WorkerA>(); 
kernel.Bind<IWorker>().To<WorkerB>(); 
kernel.Bind<IWorker>().To<WorkerC>(); 

Và sau đó:

Nó sẽ trở lại 3 mục. Tuy nhiên, thậm chí nếu IWorkerA, IWorkerB, và IWorkerC thực hiện IWorker, Ninject sẽ không nhìn vào các ràng buộc từ IWorkerA-WorkerA khi bạn hỏi cho IWorker.

Xem:

http://groups.google.com/group/ninject/browse_thread/thread/7b6afa06099bc97a#

1

Nếu bạn nếu bạn không có tình trạng đa hình như đã thảo luận trong chủ đề đó được tham chiếu bởi Romain's answer, sau đó bạn không nên có bất kỳ vấn đề chừng nào bạn đang sử dụng Ninject 2. Ninject 1.x không bao gồm loại hỗ trợ này.

Các vấn đề liên quan