/// <summary>
 /// Return the string representation of a method call and its arguments.
 /// </summary>
 /// <param name="method">The method</param>
 /// <param name="args">The method arguments</param>
 /// <param name="invocation">Invocation of the method, used to get the generics arguments</param>
 /// <param name="format">Delegate to format the parameter</param>
 /// <returns>The string representation of this method call</returns>
 public static string StringPresentation(IInvocation invocation, FormatArgumnet format, MethodInfo method, object[] args)
 {
     Validate.IsNotNull(format, "format");
     Validate.IsNotNull(method, "method");
     Validate.IsNotNull(args, "args");
     StringBuilder sb = new StringBuilder();
     sb.Append(method.DeclaringType.Name).Append(".").Append(method.Name);
     if (invocation != null)
     {
         if (method.IsGenericMethod)
         {
             sb.Append("<");
             foreach (Type genericArgument in invocation.GenericArguments)
             {
                 sb.Append(genericArgument);
                 sb.Append(", ");
             }
             sb.Remove(sb.Length - 2, 2); //remove last ", "
             sb.Append(">");
         }
     }
     sb.Append("(");
     int numberOfParameters = method.GetParameters().Length;
     for (int i = 0; i < numberOfParameters; i++)
     {
         sb.Append(format(args, i));
         if (i < numberOfParameters - 1)
             sb.Append(", ");
     }
     sb.Append(");");
     return sb.ToString();
 }
Exemple #2
0
        /// <summary>
        /// Return the string representation of a method call and its arguments.
        /// </summary>
        /// <param name="method">The method</param>
        /// <param name="args">The method arguments</param>
        /// <param name="invocation">Invocation of the method, used to get the generics arguments</param>
        /// <param name="format">Delegate to format the parameter</param>
        /// <returns>The string representation of this method call</returns>
        public static string StringPresentation(IInvocation invocation, FormatArgumnet format, MethodInfo method, object[] args)
        {
            Validate.IsNotNull(format, "format");
            Validate.IsNotNull(method, "method");
            Validate.IsNotNull(args, "args");
            StringBuilder sb = new StringBuilder();

            sb.Append(method.DeclaringType.Name).Append(".").Append(method.Name);
            if (invocation != null)
            {
                if (method.IsGenericMethod)
                {
                    sb.Append("<");
                    foreach (Type genericArgument in invocation.GenericArguments)
                    {
                        sb.Append(genericArgument);
                        sb.Append(", ");
                    }
                    sb.Remove(sb.Length - 2, 2);                     //remove last ", "
                    sb.Append(">");
                }
            }
            sb.Append("(");
            int numberOfParameters = method.GetParameters().Length;

            for (int i = 0; i < numberOfParameters; i++)
            {
                sb.Append(format(args, i));
                if (i < numberOfParameters - 1)
                {
                    sb.Append(", ");
                }
            }
            sb.Append(");");
            return(sb.ToString());
        }