示例#1
0
文件: Case.cs 项目: dlsteuer/fixie
        public Case(Type testClass, MethodInfo caseMethod, params object[] parameters)
        {
            this.parameters = parameters != null && parameters.Length == 0 ? null : parameters;
            Class           = testClass;

            Method = caseMethod.IsGenericMethodDefinition
                         ? caseMethod.MakeGenericMethod(GenericArgumentResolver.ResolveTypeArguments(caseMethod, parameters))
                         : caseMethod;

            Name = GetName();
        }
示例#2
0
文件: Case.cs 项目: vgrigoriu/fixie
        public Case(MethodInfo caseMethod, params object[] parameters)
        {
            Parameters = parameters != null && parameters.Length == 0 ? null : parameters;
            Class      = caseMethod.ReflectedType;

            Method = caseMethod.IsGenericMethodDefinition
                         ? caseMethod.MakeGenericMethod(GenericArgumentResolver.ResolveTypeArguments(caseMethod, parameters))
                         : caseMethod;

            MethodGroup = new MethodGroup(caseMethod);

            Name = GetName();

            exceptions = new List <Exception>();
        }
示例#3
0
文件: Case.cs 项目: najeraz/fixie
        private static MethodInfo TryResolveTypeArguments(MethodInfo caseMethod, object[] parameters)
        {
            if (caseMethod.IsGenericMethodDefinition)
            {
                var typeArguments = GenericArgumentResolver.ResolveTypeArguments(caseMethod, parameters);

                try
                {
                    return(caseMethod.MakeGenericMethod(typeArguments));
                }
                catch (Exception)
                {
                    return(caseMethod);
                }
            }

            return(caseMethod);
        }