我想基于FlowChart活动创建自定义可重用工作流基础活动。所有内置类都是密封的,因此我无法继承它。这些活动将在重新托管工作流设计器并由非开发人员使用的应用程序中使用。我可以继承NativeActivity类。但是,我需要能够将活动拖放到此自定义活动中,就像FlowChart活动一样。
总结:有没有人有关于如何实现自定义工作流活动的示例或想法,其行为与FlowChart(在设计器中和运行时)一样,但允许我在幕后使用我自己的自定义逻辑扩展类?
我想我可能只是在寻找或重用FlowChart使用的相同ActivityDesigner。这可能吗?
答案 0 :(得分:1)
岩石! 我想你可以使用这种方法: 你有一些你无法改变的内置密封代码活动(流程步骤,流程决定),但你可以为它们创建其他设计师(即UI)。我设法通过添加触发器来应用颜色效果来自定义flowdecision设计器。此外,您可以使用基本ActivityDesigner类覆盖自动为其分配条件(例如,通过将其绑定到内部流程图变量)。
答案 1 :(得分:0)
如果我必须这样做,我可能会进入Reflector并找到我想要修改的类,然后将其复制并粘贴到VS中的项目中。此时,我将编译,找出它依赖的其他内部/私有类,并复制它们。经过几十次迭代后,我会有一些编译没有错误的东西,我可以开始将它集成到我的系统的其余部分。
它不漂亮,但我认为没有任何其他方式可以扩展内部或私人课程。
当然你可以完成这一切,但却发现设计师有一些特殊的案例代码可以查找你想要扩展的特定类,这样就无法获得你想要的行为。