C# 具有泛型类型的MS CRM自定义工作流活动输出

C# 具有泛型类型的MS CRM自定义工作流活动输出,c#,dynamics-crm,C#,Dynamics Crm,我想编写一个自定义工作流活动,它将从实体的父对象返回来自父对象的值。例如,我在实体A上,这里我有一个到实体B的查找字段,这里我有一个到实体c的查找字段。在实体c上有一个给定的字段,我想返回它的值 是否可以创建通用输出类型,以便自定义工作流活动可以返回查找或任何其他受支持的数据类型 谢谢 您可以在下面的manor中为自定义工作流操作指定输出参数的类型 [ReferenceTarget("Entity Logical Name")] public OutArgument<EntityRefer

我想编写一个自定义工作流活动,它将从实体的父对象返回来自父对象的值。例如,我在实体A上,这里我有一个到实体B的查找字段,这里我有一个到实体c的查找字段。在实体c上有一个给定的字段,我想返回它的值

是否可以创建通用输出类型,以便自定义工作流活动可以返回查找或任何其他受支持的数据类型


谢谢

您可以在下面的manor中为自定义工作流操作指定输出参数的类型

[ReferenceTarget("Entity Logical Name")]
public OutArgument<EntityReference> ReferenceArgument { get; set; }
[ReferenceTarget(“实体逻辑名称”)]
公共输出参数引用参数{get;set;}
有关从自定义工作流操作返回值的更多信息,请参阅本文


除了支持的类型(如列表所示),无法添加任何类型的
OutArgument

我看到两种解决办法:

  • 添加一个
    OutArgument
    并在其中存储一个序列化的
    EntityReference
    对象。这种方法的缺点是,您的参数只能由另一个自定义工作流活动使用
  • 为工作流活动需要支持的每个实体类型添加一个
    OutArgument
    。如果你幸运的话,你只需要几个

  • 我知道如何指定输出的类型。问题是,是否有可能使其成为泛型类型。您知道这是否可行吗?为什么需要返回泛型对象。您打算如何处理该值?为什么在设计时不可能知道它的数据类型呢?我想在其他情况下重用它。因此,自定义工作流活动具有一些输入,如字段到实体b、字段到实体c以及Enty c上的字段类型,以便它可以返回不同类型的值。我认为这可能就是您想要的:“存在给定字段”-此字段不应定义数据类型?或者此字段将具有返回字段的架构名称?可能期望您期望的是OutArgument之类的内容,T=generics是的,我希望类似于T=generics的OutArgument,这样我就可以更改输入参数返回的字段,该输入参数告诉我实体c上应该返回的字段的名称。谢谢。因为我需要工作流本身处理输出,所以我将使用第二种解决方法