コード例 #1
0
 internal void LogArguments(object[] args, string prefix)
 {
     if (args == null)
     {
         return;
     }
     else
     {
         foreach (var arg in args)
         {
             if (arg == null)
             {
                 TestLog.Write($"{prefix}:Arguments:null");
             }
             else
             {
                 TestLog.Write($"{prefix}:Arguments:{arg.GetType().Name}:{arg.ToString()}");
             }
         }
     }
 }
コード例 #2
0
        public void Before(
            [Advice.Argument(Advice.Argument.Source.Arguments)] object[] args,
            //[Advice.Argument(Advice.Argument.Source.Attributes)] Attribute[] attrs,
            [Advice.Argument(Advice.Argument.Source.Instance)] object _this,
            [Advice.Argument(Advice.Argument.Source.Method)] MethodBase method,
            [Advice.Argument(Advice.Argument.Source.Name)] string name,
            [Advice.Argument(Advice.Argument.Source.ReturnType)] Type retType,
            [Advice.Argument(Advice.Argument.Source.ReturnValue)] object retVal,
            [Advice.Argument(Advice.Argument.Source.Target)] Func <object[], object> target,
            [Advice.Argument(Advice.Argument.Source.Type)] Type hostType
            )
        {
            base.LogArguments(args, BeforeExecuted);
            //base.LogAttributes(args, BeforeExecuted);
            base.LogInstance(_this, BeforeExecuted);
            base.LogMethod(method, BeforeExecuted);
            base.LogName(name, BeforeExecuted);
            base.LogReturnType(retType, BeforeExecuted);
            base.LogReturnValue(retVal, BeforeExecuted);
            base.LogTarget(target, BeforeExecuted);
            base.LogType(hostType, BeforeExecuted);

            TestLog.Write(BeforeExecuted);
        }