コード例 #1
0
ファイル: EETypeNameDecoder.cs プロジェクト: khm1600/CJing
 protected override int GetIndexOfReferencedAssembly(AssemblyIdentity identity)
 {
     // Find assembly matching identity.
     int index = this.Module.GetReferencedAssemblies().IndexOf(identity);
     if (index >= 0)
     {
         return index;
     }
     if (identity.IsWindowsComponent())
     {
         // Find placeholder Windows.winmd assembly (created
         // in MetadataUtilities.MakeAssemblyReferences).
         var assemblies = this.Module.GetReferencedAssemblySymbols();
         index = assemblies.IndexOf((assembly, unused) => assembly.Identity.IsWindowsRuntime(), (object)null);
         if (index >= 0)
         {
             // Find module in Windows.winmd matching identity.
             var modules = assemblies[index].Modules;
             var moduleIndex = modules.IndexOf((m, id) => id.Equals(GetComponentAssemblyIdentity(m)), identity);
             if (moduleIndex >= 0)
             {
                 return index;
             }
         }
     }
     return -1;
 }