在 Workflow Foundation 4.0 中,如何在声明 InArgument 的 Activity 的 Execute 方法之外读取 InArgument 的值?

发布于 2024-12-09 13:18:28 字数 435 浏览 0 评论 0原文

如何在声明 InArgument 的 Activity 的 Execute 方法之外访问或读取 InArgument 的值?

我尝试通过传递 NativeActivityContext 来调用 get 方法,但这只会导致收到“声明活动参数”消息。

Type t = typeof(System.Activities.InArgument<>).MakeGenericType(typeof(Test.Entities.Agent));
object obj = Activator.CreateInstance(t);

MethodInfo dd = t.GetMethod("Get");
object magic = dd.Invoke(obj, new object[] { (System.Activities.ActivityContext)context });

How do I access or read the value of an InArgument outside of the Execute method of the Activity in which it has been declared?

I tried invoking the get method by passing the NativeActivityContext, but that just resulted in getting a "declare the argument on the activity" message.

Type t = typeof(System.Activities.InArgument<>).MakeGenericType(typeof(Test.Entities.Agent));
object obj = Activator.CreateInstance(t);

MethodInfo dd = t.GetMethod("Get");
object magic = dd.Invoke(obj, new object[] { (System.Activities.ActivityContext)context });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦幻的心爱 2024-12-16 13:18:28

不确定您的上下文来自哪里,但看起来它不是由工作流运行时提供的。工作流运行时为您管理所有参数和变量,并让您通过 NativeActivityContext 获取数据。这些不是您可以在其他地方使用的类型,它们取决于运行时提供的内部结构。如果您尝试对活动进行单元测试,您应该使用 WorkflowInvoker 来执行您的活动。使用活动扩展将活动(意图)与实际实现(扩展)分开。

Not sure where your context comes from but it looks like it wasn't provided by the workflow runtime. The workflow runtime managers all arguments and variables for you and let you get at data through the NativeActivityContext. These aren't types you can just use somewhere else they depend on the internal structures provided by the runtime. If you are trying to unit test an activity you should use the WorkflowInvoker to execute your activity. Use activity extensions to separate the activity, the intent, with the actual implementation, the extension.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文