YourPaste - For your paste! Archive - Tools - Login

Posted by unknown on Sun 28 Feb 2010 17:54 186 views - Syntax: C# - Expires: never - Report - IMG - Download -

  1. using System;
  2. using System.IO;
  3. using System.Reflection;
  4.  
  5. namespace ICTTools.NET {
  6.     internal class ToolLoader {
  7.         public static void loadToolsFromFolder(String folder) {
  8.             var toolFolderInfo = new DirectoryInfo(folder);
  9.  
  10.             FileInfo[] toolDLLs = toolFolderInfo.GetFiles("*.dll");
  11.             foreach (FileInfo toolFileInfo in toolDLLs) {
  12.                 Console.WriteLine("Loading tool: {0}", toolFileInfo.Name);
  13.  
  14.                 Assembly assembly = Assembly.LoadFrom(folder + "/" + toolFileInfo.Name);
  15.                 foreach (Type type in assembly.GetTypes()) {
  16.                     if (type.IsClass) {
  17.                         if (type.GetInterface("ICTTools.NET.ITool") == null) { //alle tool classes moeten ITool geimplementeerd hebben
  18.                             continue;
  19.                         }
  20.  
  21.                         Console.WriteLine("...Found Tool Class : {0}", type.FullName);
  22.  
  23.                         var toolInstance = (Tool) Activator.CreateInstance(type);
  24.                     }
  25.                 }
  26.             }
  27.         }
  28.     }
  29. }

Comments


Name:
Comment:

© 2010 YourPaste.net - Disclaimer