コード例 #1
0
ファイル: RequestCreContext.cs プロジェクト: athinboy/Lark
        internal static RequestCreContext Create(InterfaceWrapContext interfaceWrap, MethodWrapContext methodWrap, WrapBase wrapinstance)
        {
            RequestCreContext instance = new RequestCreContext(interfaceWrap, methodWrap, wrapinstance);

            instance.CreateHeaderBind();
            return(instance);
        }
コード例 #2
0
        internal static MethodWrapContext GetContext(InterfaceWrapContext interfaceWrapContext, MethodInfo methodInfo)
        {
            MethodWrapContext methodWrapContext = new MethodWrapContext();

            methodWrapContext.interfaceType        = interfaceWrapContext.InterfaceType;
            methodWrapContext.methodInfo           = methodInfo;
            methodWrapContext.interfaceWrapContext = interfaceWrapContext;
            methodWrapContext.ReturnContext        = ReturnContext.CreContext(methodInfo.ReturnParameter);


            object[]      cas = methodInfo.GetCustomAttributes(true);
            BaseAttribute LarkAttribute;

            object        ca;
            List <string> headers = new List <string>();

            for (int i = 0; i < cas.Length; i++)
            {
                ca = cas[i];
                if (false == typeof(BaseAttribute).IsInstanceOfType(ca))
                {
                    continue;
                }
                LarkAttribute = ca as BaseAttribute;
                LarkAttribute.SaveToMethodContext(methodWrapContext);
            }

            methodWrapContext.CreateBind();

            methodWrapContext.SaveParameter();

            methodWrapContext.Validate();

            return(methodWrapContext);
        }
コード例 #3
0
        //todo add cache
        internal static InterfaceWrapContext GetContext(Type interfacetype)
        {
            InterfaceWrapContext interfaceWrapContext = new InterfaceWrapContext();

            interfaceWrapContext.InterfaceType = interfacetype;

            object[] interfaceAttibuts = interfacetype.GetCustomAttributes(true);


            BaseAttribute LarkAttribute;

            for (int i = 0; i < interfaceAttibuts.Length; i++)
            {
                object o = interfaceAttibuts[i];

                if (false == typeof(BaseAttribute).IsInstanceOfType(o))
                {
                    continue;
                }
                LarkAttribute = o as BaseAttribute;
                LarkAttribute.SaveToInterfaceContext(interfaceWrapContext);
            }

            interfaceWrapContext.CreateBind();

            interfaceWrapContext.SaveMethod();

            interfaceWrapContext.Validate();

            return(interfaceWrapContext);
        }
コード例 #4
0
ファイル: RequestCreContext.cs プロジェクト: athinboy/Lark
 private RequestCreContext(InterfaceWrapContext interfaceWrap, MethodWrapContext methodWrap, WrapBase wrapinstance)
 {
     this.InfaceContext = interfaceWrap;
     this.MethodWrap    = methodWrap;
     this.WrapInstance  = wrapinstance;
 }