static PrimitiveExpression CreateFormatString(RefactoringContext context, PrimitiveExpression pExpr, int argumentNumber)
        {
            var start = context.GetOffset(pExpr.StartLocation);
            var end   = context.GetOffset(pExpr.EndLocation);

            return(new PrimitiveExpression("", context.GetText(start, context.SelectionStart - start) + "{" + argumentNumber + "}" + context.GetText(context.SelectionEnd, end - context.SelectionEnd)));
        }
예제 #2
0
        public void Run(RefactoringContext context)
        {
            IType type;
            var   anonymousMethodExpression = GetAnonymousMethodExpression(context, out type);

            var delegateMethod = type.GetDelegateInvokeMethod();

            var sb = new StringBuilder("(");

            for (int k = 0; k < delegateMethod.Parameters.Count; k++)
            {
                if (k > 0)
                {
                    sb.Append(", ");
                }

                var paramType = delegateMethod.Parameters [k].Type;

                sb.Append(context.CreateShortType(paramType));
                sb.Append(" ");
                sb.Append(delegateMethod.Parameters [k].Name);
            }
            sb.Append(")");

            using (var script = context.StartScript()) {
                script.InsertText(context.GetOffset(anonymousMethodExpression.DelegateToken.EndLocation), sb.ToString());
            }
        }
예제 #3
0
        public void Run(RefactoringContext context)
        {
            var pexpr  = context.GetNode <PrimitiveExpression> ();
            int offset = context.GetOffset(context.Location);

            using (var script = context.StartScript()) {
                script.InsertText(offset, pexpr.LiteralValue.StartsWith("@") ? "\" + @\"" : "\" + \"");
            }
        }