loade webusercontrol via reflection
HejJeg forsøger at loade en webusercontrol dynamisk, men ved createinstance returnes null.
nedenstående er min klasse til at loade assembly
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Reflection;
namespace WebApplication1
{
public class PluginClassLoader
{
public PluginClassLoader()
{}
public static IMitInterface LoadPluginClass(string assembly, string classname)
{
try
{
// string Path = GetCurrentPath() + assembly;
string Path = "C:\\test\\WebApplicationTest\\WebApplicationControls\\obj\\Debug\\WebApplicationControls.dll";
System.Reflection.Assembly a = System.Reflection.Assembly.LoadFrom(Path);
BindingFlags flags = (BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance | BindingFlags.DeclaredOnly);
IMitInterface temp = (IMitInterface)a.CreateInstance(classname, true, flags, null, null, null, null);
if(temp==null)
throw new Exception("Unable to load plugin");
return temp;
}
catch(Exception ex)
{ throw new Exception("Problem loading plugin data"); }
}
private static string GetCurrentPath()
{
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
path=path.Substring(0,path.LastIndexOf(@"\")+1);
return path;
}
}
}