У меня есть рабочий процесс, корневым действием которого является пользовательская NativeActivity с общедоступным InArgument под названием XmlData. Когда я пытаюсь использовать этот аргумент в дочернем элементе. Если при выполнении действия я получаю следующую ошибку, используя XmlData в условии:
'XmlData' is not declared. It may be inaccessible due to its protection level
Мои свойства выглядят так:
public Activity Body {get;set;}
public InArgument<CustomObj> XmlData {get;set;}
и это метод CacheMetadata:
protected override void CacheMetadata(NativeActivityMetadata metadata)
{
var runtime = new RuntimeArgument("XmlData",typeof(CustomObj),ArgumentDirection.In,true);
metadata.Bind(this.XmlData,runtime);
metadata.AddArgument(runtime);
metadata.AddChild(Body);
}
Я добавляю аргумент в CacheMetadata, используя метод metadata.AddArgument, и я попытался добавить дочернее свойство, которое у него есть, с использованием AddChild и AddImplementationChild.
Если я заменю свое пользовательское действие на ActivityBuilder и использую код для создания DynamicActivityProperty, тогда условие может быть успешно скомпилировано, поэтому я не вижу, что мне не хватает, когда я использую свой собственный код.