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")); }
/// <summary> /// 解决类类型 /// </summary> /// <param name="makeServiceBindData">请求注入操作的服务绑定数据</param> /// <param name="service">希望解决的服务名或者别名</param> /// <returns>解决结果</returns> private object ResloveClass(BindData makeServiceBindData, string service) { return(Make(makeServiceBindData.GetContextual(service))); }
/// <summary> /// 解决非类类型 /// </summary> /// <param name="makeServiceBindData">请求注入操作的服务绑定数据</param> /// <param name="service">希望构造的服务名或者别名</param> /// <returns>解决结果</returns> private object ResolveNonClassAttr(BindData makeServiceBindData, string service) { return(Make(makeServiceBindData.GetContextual(service))); }