Click here to Skip to main content
15,881,877 members
Articles / Programming Languages / C#

A Flexible Plugin System

Rate me:
Please Sign up or sign in to vote.
4.98/5 (25 votes)
3 Sep 2008LGPL34 min read 130.5K   1.8K   163  
A generic plugin system used to load and manage plugins
using System;
using System.Collections.Generic;
using System.Text;
using Fadd.Plugins;

namespace ExamplePlugin
{
    class MyPluginInfo : IPluginInfo
    {
        private const string _name = "My Plugin";
        private const string _description = "Demonstrates how to create a plugin system";
        private const string _homepage = "http://www.codeplex.com/fadd";
        private const string _copyright = "(c) Jonas Gauffin";

        /// <summary>
        /// Name of the module, if possible, it should be in the local language.
        /// </summary>
        public string Name
        {
            get { return _name; }
        }

        /// <summary>
        /// Description of what the module does. Shown to the end user.
        /// </summary>
        /// <remarks>
        /// The description may contain links to other pages and images.
        /// Just make sure that your controller can handle them.
        /// Links should be opened in new windows and not leave the market place.
        /// </remarks>
        public string Description
        {
            get { return _description; }
        }

        /// <summary>
        /// Author homepage
        /// </summary>
        public string Homepage
        {
            get { return _homepage; }
        }

        /// <summary>
        /// Copyright owner of this module.
        /// </summary>
        public string Copyright
        {
            get { return _copyright; }
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU Lesser General Public License (LGPLv3)


Written By
Founder 1TCompany AB
Sweden Sweden

Comments and Discussions