是否存在初始化通过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
提交
取消