J'ai un workflow dont l'activité racine est une NativeActivity personnalisée avec un InArgument public appelé XmlData. Quand j'essaie d'utiliser cet argument dans un enfant Si l'activité que je reçois l'erreur suivante à l'aide XmlData dans la condition:Condition Erreur: La propriété n'est pas déclarée. Il peut être inaccessible en raison de son niveau de protection
'XmlData' is not declared. It may be inaccessible due to its protection level
Mes propriétés ressemblent à ceci:
public Activity Body {get;set;}
public InArgument<CustomObj> XmlData {get;set;}
et c'est la méthode 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);
}
J'ajoute l'argument à l'intérieur CacheMetadata selon la méthode de metadata.AddArgument, et je l'ai essayé d'ajouter la propriété de l'enfant, il a à la fois à l'aide d'un addChild d AddImplementationChild.
Si je remplace mon activité personnalisée par un ActivityBuilder et que j'utilise du code pour créer une propriété DynamicActivityProperty, la condition peut être compilée avec succès, donc je ne vois pas ce qui me manque lorsque j'utilise mon propre code.
Le partage d'un code serait utile. – Maurice
Désolé de ne pas les ajouter pour commencer. Ils sont maintenant ajoutés. – Stoive
Que se passe-t-il si vous commentez la fonction CacheMetadata? L'implémentation par défaut devrait être assez bonne. Le CustomObj est-il également un type public? L'erreur suggérée est interne. – Maurice