Я думаю, что следующая строка для BaseType должна помочь (не проверено):
"DataObjectBase`1[[Refund]]"
Возможно, вам потребуется предоставить полное имя для Refund
, по крайней мере, включая имя сборки:
"DataObjectBase`1[[Refund, RefundAssembly]]"
И тогда вы должны удалить строку targetClass.TypeParameters.Add(...)
.