Я думал, что мы только что видели этот вопрос на днях (краткий ответ - избежать его ;;)
Для более подробного обсуждения, если вы хотите понять, как использовать настраиваемые действия типа 51 для установки свойств, которые должны быть десериализованы настраиваемым действием DTF, напишите небольшое консольное приложение, подобное
var cad = new CustomActionData();
cad.Add("property1","myvalue");
cad.Add("property2","my;value");
Console.WriteLine(cad.ToString());
Console.Read();
Результат будет:
property1 = MyValue; свойство2 = мой ;; значение
Это должно помочь вам узнать, как форматировать каждый возможный сценарий. Однако, в конце концов, вы можете оказаться в ситуации, когда CA 51 типа недостаточно. В этом случае вы должны написать немедленный CA для создания вашей коллекции CustomActionData, а затем использовать метод Session.DoAction для планирования вашего отложенного CA, передавая ему CustomActionData.