If you want to create a type dynamically at run time, Activator.CreateInstance Method will do it for you. If you issue is with the type having a constructor with parameters, this overload will do this.
For example,
http://msdn.microsoft.com/en-us/library/wcxyzt4d.aspx
I advise looking through the overloads for the best match.
The namespace issue should be not be realvant - as long as the dll is in the bin directory or the GAC you should be OK. The rules may change if the assembly is Strongly named though.
Could you provide a code snippiet? of the code that is not working (using the mwthod you linked to) This + the errors you are seeing will be very helpful!
[update]
Quick sample using the Activator.CreateInstance that handles Constructors w/ paramaters.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
BaseProduct b =(BaseProduct)System.Activator.CreateInstance(Type.GetType("ConsoleApplication1.Product")
,new object[]{typeof(string)},
new object[]{"123"}
);
//Activator..::.CreateInstance Method (Type, array<Object>[]()[], array<Object>[]()[])
}
}
public class Product {
public Product(string id) {
}
public string Id {get;set;}
}
public abstract class BaseProduct {
abstract public string Id { get; set; }
}
}