1) Fixa till ett Interface:
public interface IPlugin {
string Name {get; set;}
void RenderContent(Control parent);
}
2) Skapa en plugin som bygger på Interfacet från steg 1)
public class MyPlugin : IPlugin {
private string _name = "MyPlugin";
public string Name {
get {
return _name;
}
set {
_name = value;
}
}
public void RenderContent(Control parent) {
Label label = new Label();
label.Text = "MyPlugin";
parent.Controls.Add(label);
}
}
3) Kör pluginen dynamiskt på hemsidan:
protected void Page_Load(object sender, EventArgs e)
{
string typeName = "myplugin.MyPlugin, myplugin, Version=0.0.0.0";
Type type = Type.GetType(typeName);
object o = Activator.CreateInstance(type);
IPlugin plugin = (IPlugin)o;
plugin.RenderContent(pnlMain);
}
Inga kommentarer:
Skicka en kommentar