Exemple #1
0
        public void CanGetContextual()
        {
            var container = new CatLib.Stl.Container();
            var bindData  = new CatLib.Stl.BindData(container, "NeedsIsNotNull", (app, param) => "hello world", false);

            bindData.Needs("need1").Given("abc");
            bindData.Needs("need2").Given <BindDataTest>();

            Assert.AreEqual("abc", bindData.GetContextual("need1"));
            Assert.AreEqual(typeof(BindDataTest).ToString(), bindData.GetContextual("need2"));
            Assert.AreEqual("empty", bindData.GetContextual("empty"));
        }
Exemple #2
0
 /// <summary>
 /// 解决类类型
 /// </summary>
 /// <param name="makeServiceBindData">请求注入操作的服务绑定数据</param>
 /// <param name="service">希望解决的服务名或者别名</param>
 /// <returns>解决结果</returns>
 private object ResloveClass(BindData makeServiceBindData, string service)
 {
     return(Make(makeServiceBindData.GetContextual(service)));
 }
Exemple #3
0
 /// <summary>
 /// 解决非类类型
 /// </summary>
 /// <param name="makeServiceBindData">请求注入操作的服务绑定数据</param>
 /// <param name="service">希望构造的服务名或者别名</param>
 /// <returns>解决结果</returns>
 private object ResolveNonClassAttr(BindData makeServiceBindData, string service)
 {
     return(Make(makeServiceBindData.GetContextual(service)));
 }