是否存在初始化通過DI容器創建的對象的模式?我正試圖讓Unitu來管理我的對象的創建,并且我希望有一些直到運行時才知道的初始化參數:目前,我唯一能想到的方法就是在接口上有一個Init方法。interface IMyIntf {
void Initialize(string runTimeParam);
string RunTimeParam { get; }}然后,為了使用它(在聯合中),我會這樣做:var IMyIntf = unityContainer.Resolve<IMyIntf>();IMyIntf.Initialize("somevalue");在這種情況下runTimeParamParam是根據用戶輸入在運行時確定的.這里的瑣碎情況只是返回runTimeParam但在現實中,該參數將類似于文件名,初始化方法將對該文件執行一些操作。這就產生了一些問題,即Initialize方法在接口上可用,可以多次調用。在實現中設置一個標志并在重復調用時拋出異常Initialize看起來很笨重。在解析我的接口時,我不想知道IMyIntf..不過,我想知道的是,這個接口需要特定的一次初始化參數。是否有某種方式對(屬性)進行注釋?在創建對象時,使用該信息并將這些信息傳遞給框架的接口?編輯:更多地描述了界面。
添加回答
舉報
0/150
提交
取消