Вы можете сделать что-то подобное и привести их к известному интерфейсу.
var someVar = Convert.ChangeType(someOriginalValue, workItem[LeftFieldName].GetType());
var someVar = Activator.CreateInstance(workItem[LeftFieldName].GetType());
Если вы замените var
на dynamic
(и вы используете .Net 4), вы можете вызватьметоды, которые вы ожидаете для объекта someVar.Если они не существуют, вы просто получите исключение MissingMethodException.