В rehost WorkflowDesigner я хочу присвоить InArguments действительное значение с помощью следующего кода:
Type inActivityType = leftActivity.GetType();
PropertyInfo inPropInfo = inActivityType.GetProperty(inArgumentName);
InPropInfo.SetValue(leftActivity,
new InArgument<someType>(new VisualBasicValue<someType>(variableName)),
null);
Поскольку «someType» динамически назначается другому типу, обычный способ создания нового InArgument будетне работает.Одна идея, которую я нашел:
// Type theType - the value of theType will be assigned dynamicly,
// base on different InArgument be selected
Type InArgType = typeof(InArgument<>).MakeGenericType(new[] { theType });
object InArg = Activator.CreateInstance(InArgType);
. . .
InPropInfo.SetValue(leftActivity,
InArg,
null);
Но проблема в том, что я могу только создать новый InArgument, но не могу назначить ему новое VisualBasicValue (variableName).
Спасибо за любую идею.