Ошибка в том, что компилятор не может полагаться на тот факт, что универсальный класс T имеет что-то кроме конструктора по умолчанию.
Вы можете преодолеть это с помощью отражения следующим образом:
ConstructorInfo c = typeof(T).GetConstructor(new Type[] { typeof(string) });
T t = (T)c.Invoke(new object[] { loadCode });
Поскольку ваш тип T, следовательно, должен иметь конструктор, который принимает строку, я бы также ограничил ваш класс, чтобы он наследовал от класса с конструктором:
class Item<T> : ItemBase where T : BaseClassWithConstructor