本文整理汇总了C#中System.Reflection.ParameterInfo.Attrs方法的典型用法代码示例。如果您正苦于以下问题:C# ParameterInfo.Attrs方法的具体用法?C# ParameterInfo.Attrs怎么用?C# ParameterInfo.Attrs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Reflection.ParameterInfo
的用法示例。
在下文中一共展示了ParameterInfo.Attrs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Create
internal static CommandLineArgument Create(ParameterInfo parameter)
{
var ret = PropertyInitializer.CreateInstance<CommandLineArgument>();
ret.Position = parameter.Position;
ret.ArgumentType = parameter.ParameterType;
ret.Source = parameter;
ret.DefaultValue = parameter.HasAttr<DefaultValueAttribute>() ? parameter.Attr<DefaultValueAttribute>().Value : null;
ret.IgnoreCase = true;
if (parameter.Member.DeclaringType.HasAttr<ArgIgnoreCase>() && parameter.Member.DeclaringType.Attr<ArgIgnoreCase>().IgnoreCase == false)
{
ret.IgnoreCase = false;
}
if (parameter.HasAttr<ArgIgnoreCase>() && parameter.Attr<ArgIgnoreCase>().IgnoreCase == false)
{
ret.IgnoreCase = false;
}
ret.Aliases.Add(parameter.Name);
ret.Metadata.AddRange(parameter.Attrs<IArgMetadata>().AssertAreAllInstanceOf<ICommandLineArgumentMetadata>());
return ret;
}