Microsoft.Cci.InternFactory.GetNamespaceTypeReferenceInternId C# (CSharp) Méthode

GetNamespaceTypeReferenceInternId() private méthode

private GetNamespaceTypeReferenceInternId ( IUnitNamespaceReference containingUnitNamespace, IName typeName, uint genericParameterCount ) : uint
containingUnitNamespace IUnitNamespaceReference
typeName IName
genericParameterCount uint
Résultat uint
    uint GetNamespaceTypeReferenceInternId(IUnitNamespaceReference containingUnitNamespace, IName typeName, uint genericParameterCount) {
      Contract.Requires(containingUnitNamespace != null);
      Contract.Requires(typeName != null);

      uint containingUnitNamespaceInteredId = this.GetUnitNamespaceInternId(containingUnitNamespace);
      foreach (NamespaceTypeStore nsTypeStore in this.NamespaceTypeHashtable.GetValuesFor((uint)typeName.UniqueKey)) {
        if (nsTypeStore.ContainingNamespaceInternedId == containingUnitNamespaceInteredId && nsTypeStore.GenericParameterCount == genericParameterCount) {
          return nsTypeStore.InternedId;
        }
      }
      NamespaceTypeStore nsTypeStore1 = new NamespaceTypeStore(containingUnitNamespaceInteredId, genericParameterCount, this.CurrentTypeInternValue++);
      this.NamespaceTypeHashtable.Add((uint)typeName.UniqueKey, nsTypeStore1);
      return nsTypeStore1.InternedId;
    }