I have an abstract class with a few derived class
public abstract class MyObject { public string name { get; set; } public bool IsObject(string pattern);
You can use Reflection or System.Activator.CreateInstance to create an instance based on the Type or TypeName as string.