示例#1
0
 private static TypeNode FileGetType(ModuleNode module, Identifier nameSpace, Identifier name)
 {
     foreach (string file in Directory.GetFiles(
                  module.Directory, "*.dll", SearchOption.TopDirectoryOnly))
     {
         if (file != module.Location)
         {
             ModuleNode localModule = ModuleNode.GetModule(file, true, false, true);
             if (localModule != null)
             {
                 TypeNode typeNode = localModule.GetType(nameSpace, name);
                 if (typeNode != null)
                 {
                     // resolve any assembly reference not loaded (GACed)
                     localModule.AssemblyReferenceResolutionAfterProbingFailed +=
                         new ModuleNode.AssemblyReferenceResolver(OnAssemblyReferenceResolutionAfterProbingFailed);
                     return(typeNode);
                 }
                 localModule.Dispose();
             }
         }
     }
     return(null);
 }