torsdag 2 april 2009

DEVTIPS #12 ASP.NET Plugins

Att skapa plugins för ASP.NET sidor:

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: