为了账号安全,请及时绑定邮箱和手机立即绑定

是否存在初始化通过DI容器创建的对象的模式?

是否存在初始化通过DI容器创建的对象的模式?

是否存在初始化通过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..不过,我想知道的是,这个接口需要特定的一次初始化参数。是否有某种方式对(属性)进行注释?在创建对象时,使用该信息并将这些信息传递给框架的接口?编辑:更多地描述了界面。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 611 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信