通過「環境對象」,我的意思是總是在背景中做一些事情,但沒人知道。例如,一個將自身掛接到各種其他對象上的事件並在它們觸發時記錄消息的對象。如何強制註冊的「環境」對象被解決?
問題是:由於除了Unity構建器以外,沒有人知道這個對象存在,所以沒有人能解決它,並且它永遠不會被創建。有沒有一個優雅的解決這個問題?
我可以創建一個虛擬類,像這樣:
public class AmbientObject
{
public object TheObject { get; set; }
}
創建工廠方法返回內部AmbientObject
包裝的環境溫度是針對每一種情況下,用統一註冊他們,然後有組成根做了container.ResolveAll<AmbientObject>()
(並忽略返回值),只是爲了確保它們全部被創建,但這並不完美。
哪個平臺您使用? MVC,控制檯WPF等?你可以使用OWIN嗎? – smoksnes
@smoksnes它是WPF – dlf
你想什麼時候創建它?其他對象解決時,還是啓動時? – smoksnes