Если ваш пользовательский интерфейс не отображает полное имя типа, вы обычно хотите, чтобы словарь связывал отображаемое имя с типом:
Dictionary<string, Type> _associations = new Dictionary<string, Type>();
Затем вы просто создаете новый объект:
if(_associations.ContainsKey(someString))
{
Type selectedType = _associations[someString];
return Activator.CreateInstance(selectedType) as IExchange;
}
throw new ApplicationException("No type defined for that string yo");
Если строка не известна во время компиляции, вам необходимо проверить наличие типа:
var type = Type.GetType(someString);
if(type != null)
{
// Do Stuff
}