public void LoadPlugins(string folder)
{
this.pluginDirectory = folder;
string[] files = Directory.GetFiles(this.pluginDirectory, "Plugin*.dll");
foreach (string file in files)
{
try
{
Assembly assembly = Assembly.LoadFile(file);
foreach (Type type in assembly.GetTypes())
{
if (!type.IsClass || type.IsNotPublic)
continue;
if (((IList)type.GetInterfaces()).Contains(typeof(IPlugin)))
this.plugins.Add((IPlugin)Activator.CreateInstance(type));
}
}
catch //(Exception ex)
{
}
}
}