Click here to Skip to main content
Click here to Skip to main content
Articles » Languages » C# » Generics » Downloads
 

Plug-ins in C# 2.0: Generics Enabled Extension Library

By , 7 Nov 2007
 
PluginsInCSharp2_examplesrc.zip
PluginsInCSharp2
Common
bin
Release
Common.dll
Properties
ExtensionFour
bin
Release
Common.dll
ExtensionFour.dll
Properties
ExtensionManager
bin
Release
ExtensionManager.dll
EventArgs
ExtensionOne
bin
Release
Common.dll
ExtensionOne.dll
Properties
ExtensionThree
bin
Release
Common.dll
ExtensionThree.dll
Properties
ExtensionTwo
bin
Release
Common.dll
ExtensionTwo.dll
Properties
HostApplication
bin
Release
Common.dll
ExtensionManager.dll
Extensions
ExtensionOne.dll
ExtensionThree.dll
HostApplication.exe
Properties
Settings.settings
PluginsInCSharp2_src.zip
ExtensionManager
bin
Release
ExtensionManager.dll
EventArgs
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;

namespace ExtensionManager
{
    public class Extension<ClientInterface>
    {
		public Extension()
		{
		}

		public Extension(string filename, ExtensionType extensionType, ClientInterface instance)
		{
			this.extensionType = extensionType;
			this.instance = instance;
			this.filename = filename;
		}

		private ExtensionType extensionType = ExtensionType.Unknown;
        private string filename = "";
        private SourceFileLanguage language = SourceFileLanguage.Unknown;
        private ClientInterface instance = default(ClientInterface);
		private Assembly instanceAssembly = default(Assembly);

		public ExtensionType ExtensionType
		{
			get { return extensionType; }
			set { extensionType = value; }
		}

        public string Filename
        {
            get { return filename; }
            set { filename = value; }
        }
        
        public SourceFileLanguage Language
		{
            get { return language; }
            set { language = value; }
        }

        public ClientInterface Instance
        {
            get { return instance; }
            set { instance = value; }
        }

		public Assembly InstanceAssembly
		{
			get { return instanceAssembly; }
			set { instanceAssembly = value; }
		}


		public Type GetType(string name)
		{
			return instanceAssembly.GetType(name, false, true);
		}
		
    }
}

By viewing downloads associated with this article you agree to the Terms of use 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 Code Project Open License (CPOL)

About the Author

Redth
Web Developer
Canada Canada
Member
Currently I'm an Oracle DBA for a School Board, having recently completed my undergrad at the University of Guelph with a Bachelor of Computing.
 
I obviously enjoy programming Smile | :)
 
Contact Me:
(MSN: jondick at gmail dot com)
(IRC: Dalnet: #c#, #asp.net, #vb.net)
(IRC: FreeNode: #linuxpeople)

Permalink | Advertise | Privacy | Mobile
Web03 | 2.6.130516.1 | Last Updated 7 Nov 2007
Article Copyright 2007 by Redth
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid