gpt4 book ai didi

workflow-foundation-4 - 条件错误 : Property is not declared. 由于其保护级别可能无法访问

转载 作者:行者123 更新时间:2023-12-02 05:13:46 24 4
gpt4 key购买 nike

我有一个工作流,其根事件是一个自定义 NativeActivity,带有一个名为 XmlData 的公共(public) InArgument。当我尝试在子 If 事件中使用此参数时,在条件内使用 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);
}

我正在使用 metadata.AddArgument 方法在 CacheMetadata 中添加参数,并且我尝试使用 AddChild 和 AddImplementationChild 添加它具有的子属性。

如果我将我的自定义事件替换为 ActivityBuilder 并使用代码创建 DynamicActivityProperty,则可以成功编译条件,因此我在使用自己的代码时看不到我遗漏了什么。

最佳答案

我能想到 3 种可能的解决方案,一种是愚蠢的,一种是骇人听闻的,另一种是隐约合理的。

解决方案 1(愚蠢的解决方案)将 RuntimeArgument 提升为私有(private)只读成员并交换 Bind 和 AddArgument 调用,我遇到了一些随机事件,这对我有所帮助。

解决方案 2(非常棘手的一个)您始终可以将值放在上下文中的命名属性中,然后将其拉出子

解决方案 3(明智的解决方案)如果要将 InArgument 传递给 child ,请将其绑定(bind)到变量并将 child 绑定(bind)到变量。

这些有帮助吗?约翰

关于workflow-foundation-4 - 条件错误 : Property is not declared. 由于其保护级别可能无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2911749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com