示例#1
0
        internal static bool CreateParameterTemplateRegex(this ParameterInfo parameter, ParameterSourceAttribute parameterSource, out string parameterTemplateRegex)
        {
            parameterTemplateRegex = null;
            var methodInfo = typeof(MemberInfoExtensions).GetMethods(BindingFlags.Static | BindingFlags.NonPublic)
                             .FirstOrDefault(item => (item.Name == "CreateParameterTemplateRegex") && (item.GetParameters().Length > 1) && (item.GetParameters()[1].ParameterType == parameterSource.GetType()));

            if (methodInfo == null)
            {
                return(false);
            }

            var arguments = new object[] { parameter, parameterSource, null };

            methodInfo.Invoke(null, arguments);
            parameterTemplateRegex = (string)arguments[2];
            return(true);
        }
示例#2
0
        internal static bool CreateParameterTemplateRegex(this ParameterInfo parameter, ParameterSourceAttribute parameterSource, out string parameterTemplateRegex)
        {
            parameterTemplateRegex = null;
            var methodInfo = typeof(MemberInfoExtensions).GetMethods(BindingFlags.Static | BindingFlags.NonPublic)
                .FirstOrDefault(item => (item.Name == "CreateParameterTemplateRegex") && (item.GetParameters().Length > 1) && (item.GetParameters()[1].ParameterType == parameterSource.GetType()));
            if (methodInfo == null)
            {
                return false;
            }

            var arguments = new object[] { parameter, parameterSource, null };
            methodInfo.Invoke(null, arguments);
            parameterTemplateRegex = (string)arguments[2];
            return true;
        }