本文整理汇总了C#中System.Collections.Generic.IDictionary.ContainsKey方法的典型用法代码示例。如果您正苦于以下问题:C# System.Collections.Generic.IDictionary.ContainsKey方法的具体用法?C# System.Collections.Generic.IDictionary.ContainsKey怎么用?C# System.Collections.Generic.IDictionary.ContainsKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.Generic.IDictionary
的用法示例。
在下文中一共展示了System.Collections.Generic.IDictionary.ContainsKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Parser
/// <summary>
/// Creates a new command line argument parser.
/// </summary>
/// <param name="argumentSpecification"> The type of object to parse. </param>
/// <param name="reporter"> The destination for parse errors. </param>
public Parser(Type argumentSpecification, ErrorReporter reporter)
{
this.reporter = reporter;
this.arguments = new System.Collections.Generic.List<vcmd.Parser.Argument>();
this.argumentMap = new System.Collections.Generic.Dictionary<string, vcmd.Parser.Argument> ();
foreach (PropertyInfo prop in argumentSpecification.GetProperties())
{
MethodInfo propMethod = prop.GetGetMethod();
if (!propMethod.IsStatic)
{
ArgumentAttribute attribute = GetAttribute(prop);
if (attribute is DefaultArgumentAttribute)
{
this.defaultArgument = new Argument(attribute, prop, reporter);
}
else
{
Argument a = new Argument(attribute, prop, reporter);
this.arguments.Add(a);
}
}
}
// add explicit names to map
foreach (Argument argument in this.arguments)
{
this.argumentMap[argument.LongName] = argument;
if (argument.ExplicitShortName)
{
if (argument.ShortName != null && argument.ShortName.Length > 0)
{
this.argumentMap[argument.ShortName] = argument;
}
else
{
argument.ClearShortName();
}
}
}
// add implicit names which don't collide to map
foreach (Argument argument in this.arguments)
{
if (!argument.ExplicitShortName)
{
if (argument.ShortName != null && argument.ShortName.Length > 0 && !argumentMap.ContainsKey(argument.ShortName))
this.argumentMap[argument.ShortName] = argument;
else
argument.ClearShortName();
}
}
}