У меня есть рабочий процесс, чья корневая активность - это обычная 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 d AddImplementationChild.
Если я заменил свою собственную деятельность ActivityBuilder и использовал код для создания DynamicActivityProperty, тогда условие можно скомпилировать успешно, поэтому я не вижу, что мне не хватает, когда я использую свой собственный код.
Обмен некоторыми кодами был бы полезен. – Maurice
Извините, что не добавлял их для начала. Теперь они добавлены. – Stoive
Что произойдет, если вы закомментируете функцию CacheMetadata? Реализация по умолчанию должна быть достаточно хорошей. Также есть CustomObj общедоступный тип? Предположение об ошибке является внутренним. – Maurice