本文整理汇总了C#中System.Reflection.ParameterInfo.TryGetDefaultValue方法的典型用法代码示例。如果您正苦于以下问题:C# ParameterInfo.TryGetDefaultValue方法的具体用法?C# ParameterInfo.TryGetDefaultValue怎么用?C# ParameterInfo.TryGetDefaultValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Reflection.ParameterInfo
的用法示例。
在下文中一共展示了ParameterInfo.TryGetDefaultValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TryGetArg
private object TryGetArg(IHttpContext context, ParameterInfo param, IDictionary<string, string> urlArgs,
IDictionary<string, string> routeArgs, IQueryValidator argResolver)
{
var type = param.ParameterType;
if (type == typeof(IHttpContext))
return context;
var paramName = param.Name.ToLower();
string argValue;
var gotValue = urlArgs.TryGetValue(paramName, out argValue)
|| (routeArgs != null && routeArgs.TryGetValue(paramName, out argValue));
if (!gotValue)
{
object defaultValue;
if (param.TryGetDefaultValue(out defaultValue))
return defaultValue;
if (Nullable.GetUnderlyingType(param.ParameterType) != null)
return null;
return Error(context, "Missing param '{0}'", paramName);
}
if (string.IsNullOrEmpty(argValue))
return Error(context, "Empty param '{0}'", paramName);
object parsedArg;
if (!m_argParser.TryParse(type, argValue, out parsedArg))
return Error(context, "Param '{0}' is invalid", paramName);
return parsedArg;
}