本文整理汇总了C#中System.Reflection.ParameterInfo.HasAttribute方法的典型用法代码示例。如果您正苦于以下问题:C# ParameterInfo.HasAttribute方法的具体用法?C# ParameterInfo.HasAttribute怎么用?C# ParameterInfo.HasAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Reflection.ParameterInfo
的用法示例。
在下文中一共展示了ParameterInfo.HasAttribute方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ResolveParameterType
protected virtual ParameterType ResolveParameterType(ParameterInfo parameterInfo, string url)
{
if (parameterInfo.HasAttribute<ContentAttribute>())
{
return ParameterType.Content;
}
return url.Contains(CreateRouteSegmentId(parameterInfo.Name))
? ParameterType.Route
: ParameterType.Query;
}
示例2: CreateForConstructorParam
static InjectableInfo CreateForConstructorParam(
Type enclosingType, ParameterInfo paramInfo)
{
var injectAttr = paramInfo.Attribute<InjectAttribute>();
return new InjectableInfo()
{
Optional = paramInfo.HasAttribute(typeof(InjectOptionalAttribute)),
Identifier = (injectAttr == null ? null : injectAttr.Identifier),
SourceName = paramInfo.Name,
ContractType = paramInfo.ParameterType,
EnclosingType = enclosingType,
};
}
示例3: CreateInjectableInfoForParam
static InjectableInfo CreateInjectableInfoForParam(
Type parentType, ParameterInfo paramInfo)
{
var identifier = paramInfo.AllAttributes<InjectAttribute>().Select(x => x.Identifier)
.Concat(paramInfo.AllAttributes<InjectOptionalAttribute>().Select(x => x.Identifier)).FirstOrDefault();
return new InjectableInfo(
paramInfo.HasAttribute(typeof(InjectOptionalAttribute)),
identifier,
paramInfo.Name,
paramInfo.ParameterType,
parentType,
null);
}
示例4: Parameter
internal Parameter(ParameterInfo parameter)
{
Debug.Assert(parameter != null);
Names = new List<string>();
// Names are stored as lower-case.
// The first available name is the parameters's original name.
//
Names.Add(parameter.Name.ToLowerInvariant());
ParameterInfo = parameter;
Required = parameter.HasAttribute<RequiredAttribute>();
if (parameter.HasAttribute<DefaultValueAttribute>())
{
Default = parameter.GetAttribute<DefaultValueAttribute>().DefaultValue;
}
if (parameter.HasAttribute<DefaultProviderAttribute>())
{
DefaultProvider = (DefaultProvider)Activator.CreateInstance(
parameter.GetAttribute<DefaultProviderAttribute>().DefaultProviderType);
}
if (parameter.HasAttribute<DescriptionAttribute>())
{
Description = parameter.GetAttribute<DescriptionAttribute>().Description;
}
if (parameter.HasAttribute<AliasesAttribute>())
{
Names.AddRange(parameter.GetAttribute<AliasesAttribute>().Aliases.ToLowerInvariant().CommaSplit());
}
if (parameter.HasAttribute<SeparatorAttribute>())
{
Separator = parameter.GetAttribute<SeparatorAttribute>().Separator;
}
}
示例5: GetType
private static string GetType( ParameterInfo parameter )
{
bool isParams = parameter.ParameterType.IsArray && parameter.HasAttribute<ParamArrayAttribute>();
string prefix = isParams ? "params " : string.Empty;
return prefix + parameter.ParameterType.Name();
}