I\'ve seen this Topic : Creating an instance from a class name
and written this code:
public partial class Form1 : Form
{
public Form1()
{
You just need to prepend the namespace to the class name. In a console exe project, this works for me. You did have a problem with the way you were using the returned object handle. It's not an Object
, but an ObjectHandle
and you need to call Unwrap()
get at the actual type instance.
namespace CSharpConsoleTest
{
public class MyClass
{
public int My1 { get; set; }
public int My2 { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
var obj = Activator.CreateInstance(null, "CSharpConsoleTest.MyClass");
var t = (MyClass)obj.Unwrap();
t.My1 = 100;
MessageBox.Show(t.My1.ToString());
}
}
}