Я не думаю, что здесь есть какая-либо документация по внутренним компонентам. Не уверен, принесет ли это вам много пользы, большинство, если не весь этот материал, встроен в WF4 и не может быть изменен, даже если вы захотите.
По сути, ссылка на местоположение - это место для хранения данных, что-то, представленное переменной в вашем рабочем процессе. По умолчанию вы можете добавлять переменные только в составные действия. Здесь нет технической причины, просто переменная используется для обмена данными между несколькими действиями, поэтому добавление их в действие, у которого нет дочерних элементов или только одно, ничего не покупает. Тем не менее, вы можете делать это в своей собственной деятельности, если хотите.
Что вы пытаетесь добиться, чтобы вам требовался максимальный контроль над контекстом активности?
Обновление: Не уверен, поможет ли это, но именно так вы можете создавать VB-выражения в коде:
var wf = new Sequence()
{
Variables =
{
new Variable<string>("var1", "Some value"),
new Variable<int>("var2", c=> Environment.TickCount),
},
Activities =
{
new WriteLine() {
Text = new VisualBasicValue<string>("\"String value: \" & var1 ")
},
new WriteLine() {
Text = new VisualBasicValue<string>("\"Int value: \" & var2 ")
}
}
};
WorkflowInvoker.Invoke(wf);