本文整理汇总了C#中Hashtable.Find方法的典型用法代码示例。如果您正苦于以下问题:C# Hashtable.Find方法的具体用法?C# Hashtable.Find怎么用?C# Hashtable.Find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hashtable
的用法示例。
在下文中一共展示了Hashtable.Find方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Visit
/// <summary>
/// Performs some computation with the given assembly.
/// </summary>
public void Visit(IAssembly assembly)
{
this.Visit((IModule)assembly);
if ((assembly.Flags & ~(0x0001|0x0100|0x4000|0x8000|0x0010|0x0020|0x0030|0x0040|0x0070|0x0080)) != 0)
this.ReportError(MetadataError.UnknownAssemblyFlags, assembly);
if (assembly.Name.Value.Length == 0)
this.ReportError(MetadataError.EmptyName, assembly);
//if (assembly.Name.Value.IndexOfAny(badAssemblyNameChars) > 0)
if (assembly.Name.Value.IndexOfAny(badPosixNameChars) > 0)
this.ReportError(MetadataError.NotPosixAssemblyName, assembly, assembly.Name.Value);
if (assembly.Culture != string.Empty && validCultureNames.Find(x => string.Compare(assembly.Culture, x, StringComparison.OrdinalIgnoreCase) == 0) == null)
this.ReportError(MetadataError.InvalidCulture, assembly, assembly.Culture);
if (IteratorHelper.EnumerableIsEmpty(assembly.Files)) {
foreach (var typeAlias in assembly.ExportedTypes) { //TODO: simplify this when type forwarders are put in their own collection.
if (TypeHelper.GetDefiningUnitReference(typeAlias.AliasedType).UnitIdentity.Equals(assembly.AssemblyIdentity)) {
this.ReportError(MetadataError.SingleFileAssemblyHasExportedTypes, assembly);
break;
}
}
} else {
var fileTable = new Hashtable();
foreach (var file in assembly.Files) {
var key = (uint)file.FileName.UniqueKeyIgnoringCase;
if (fileTable.Find(key) == 0)
fileTable.Add(key, key);
else
this.ReportError(MetadataError.DuplicateFileReference, assembly, file);
}
}
this.CheckResourcesForUniqueness(assembly);
}
示例2: BuildNamespaceForNameOffset
void BuildNamespaceForNameOffset(
uint namespaceNameOffset,
Hashtable<Namespace> namespaceOffsetHashtable
) {
if (namespaceNameOffset == 0 || namespaceOffsetHashtable.Find(namespaceNameOffset) != null)
return;
string namespaceNameStr = this.PEFileReader.StringStream[namespaceNameOffset];
Namespace moduleNamespace = this.GetNamespaceForString(namespaceNameStr);
moduleNamespace.SetNamespaceNameOffset(namespaceNameOffset);
namespaceOffsetHashtable.Add(namespaceNameOffset, moduleNamespace);
}