摘要:[C#]外掛程式庫設計
大概有幾個重點,首先要定義出外掛的通用介面(interface),然後做個PluginWrapper來做載入的動作
接下來就是如何叫用這個功能,最好弄個List記住載入了哪些外掛,這樣才能呼叫...
外掛要寫一些呼叫的條件,這樣才知道要用哪支外掛!
private void LoadPlugins()
{
string pluginPath = Application.StartupPath + @"\plugins";
if (Directory.Exists(pluginPath))
{
string[] files = Directory.GetFiles(pluginPath, "*.dll");//找出所有在外掛資料夾的外掛
foreach (string file in files)
{
try
{
Assembly plugin = Assembly.LoadFile(file); //這個就是載入外掛的進入點
Type[] types = plugin.GetTypes();
foreach (Type type in types)
{
try
{
IBrowserPlugin browserPlugin =
plugin.CreateInstance(type.ToString()) as IBrowserPlugin;
}
catch (Exception) { }
}
}
catch (Exception) { }
}
}
public interface IBrowserPlugin
{
string Name { get; }
string Info { get; }
}