示例#1
0
        public ICodeBlockBuilder InvokeGenericMethod(
            INamedReference targetObject,
            string methodName,
            Type[] genericArguments,
            Action <IInvocationBuilder> invocation)
        {
            Write(targetObject).Write(".").Write(methodName);

            if ((genericArguments != null) && (genericArguments.Length > 0))
            {
                Write("<");

                for (var i = 0; i < genericArguments.Length; i++)
                {
                    if (i > 0)
                    {
                        Write(", ");
                    }

                    Write(genericArguments[i]);
                }

                Write(">");
            }

            Write("(");

            var ib = new InvocationBuilder(this);

            invocation(ib);

            return(Write(")"));
        }
示例#2
0
        public ICodeBlockBuilder Invoke(INamedReference target, Action <IInvocationBuilder> invocation)
        {
            var ib = new InvocationBuilder(this);

            Write(target).Write("(");

            invocation(ib);

            return(Write(")"));
        }
示例#3
0
        public ICodeBlockBuilder InvokeConstructor(INamedReference ctorType, Action <IInvocationBuilder> invocation)
        {
            var ib = new InvocationBuilder(this);

            Write("new ").Write(ctorType).Write("(");

            invocation(ib);

            return(Write(")"));
        }
示例#4
0
        public ICodeBlockBuilder Invoke(INamedReference targetObject, string methodName, Action <IInvocationBuilder> invocation)
        {
            Write(targetObject).Write(".").Write(methodName).Write("(");

            var ib = new InvocationBuilder(this);

            invocation(ib);

            return(Write(")"));
        }