ushort GetLookup(string packageName, string assemblyName, string ns) { var id = new FrameworkLookupId { PackageName = packageName, AssemblyName = assemblyName, NameSpace = ns }; ushort value; if (frameworkLookupTable.TryGetValue(id, out value)) { return(value); } var result = new AssemblyLookup(packageName, assemblyName, ns); assemblyLookups.Add(result); var index = assemblyLookups.Count - 1; if (index > ushort.MaxValue) { throw new InvalidOperationException("Assembly lookup list overflow > " + ushort.MaxValue + " assemblies."); } frameworkLookupTable.Add(id, (ushort)index); return((ushort)index); }
ushort GetLookup(string packageName, string assemblyName, string ns) { var id = new FrameworkLookupId { PackageName = packageName, AssemblyName = assemblyName, NameSpace = ns }; ushort value; if (frameworkLookupTable.TryGetValue (id, out value)) return value; var result = new AssemblyLookup (packageName, assemblyName, ns); assemblyLookups.Add (result); var index = assemblyLookups.Count - 1; if (index > ushort.MaxValue) throw new InvalidOperationException ("Assembly lookup list overflow > " + ushort.MaxValue + " assemblies."); frameworkLookupTable.Add (id, (ushort)index); return (ushort)index; }
ushort GetLookup (string packageName, string assemblyName, string ns) { for (int i = 0; i < assemblyLookups.Count; i++) { var lookup = assemblyLookups [i]; if (lookup.FullName == assemblyName && lookup.Namespace == ns) return (ushort)i; } var result = new AssemblyLookup (packageName, assemblyName, ns); assemblyLookups.Add (result); var index = assemblyLookups.Count - 1; if (index > ushort.MaxValue) throw new InvalidOperationException ("Assembly lookup list overflow > " + ushort.MaxValue + " assemblies."); return (ushort)index; }