Blue Prism全局代码阶段的声明和调用方法

时间:2019-07-16 21:08:17

标签: c# oop methods blueprism

我是Blue Prism RPA开发人员,我想在全局代码中创建方法并从其他代码阶段调用它们。在“全局代码信息”页面中,声明可以执行此操作,但是我找不到关于此主题的令人满意的资源。 任何人都可以共享语法规则集,也许是示例全局代码和代码阶段代码片段,还是可以指导我? 我使用C#,非常感谢C#中的响应

注意:我不是来自开发人员,我有基本的编码知识,但是我对OOP主题(即:类,方法,构造函数,继承等)不完全了解

我尝试声明一个类和一个方法都可行,我可以调用该方法,但是当我尝试添加新方法和/或类失败时,它无法与整体代码一起编译

2 个答案:

答案 0 :(得分:3)

如果我正确理解了您的问题,那么您正在寻找一个包含一个或多个方法的类的示例,可以将其放入BP Object的Initialize页面的Global Code阶段,然后可以创建/从该BP对象中的其他页面在代码阶段调用该类/方法的实例。

我不知道您知道多少,所以我将假设每个步骤都需要解释。

由于使用的是C#,因此第一站应该是“代码选项”选项卡。在这里,您应该在顶部窗格中引用要使用的任何库(.dll),并在底部窗格中引用它们各自的名称空间。 BP已经包括一些基本的功能,如下所示。将语言选择更改为C#(左下下拉菜单)也非常重要,因为Visual Basic似乎是默认选项:

enter image description here 接下来,这是一个简单的具体类的示例,其中包含一些字段,构造函数,属性和方法。您可以按原样将此代码放在“全局代码”窗口中:

public class SomePerson
{
    //Class variables
    private string _firstName;
    private string _lastName;

    //Constructor
    public SomePerson(string firstName, string lastName)
    {
        this._firstName = firstName;
        this._lastName = lastName;
    }

    //Property
    public string FullName
    {
        get
        {
            return string.Format("{0} {1}", this._firstName, this._lastName);
        }
    }

    //Method
    public string Hello()
    {
        string myText = "Hello "+FullName+", it is nice to meet you.";
        return myText;
    }
}

现在,您将可以在代码阶段内部调用此类的实例,并使用属性和方法。例如,您可以在BP中的几个数据项中提供FirstName和LastName,然后使用SomePerson类属性的实例使用以下代码获取FullName:

SomePerson Anyone = new SomePerson(firstName, lastName);
fullName = Anyone.FullName;

类似地,您可以使用如下方法:

SomePerson Anyone = new SomePerson(firstName, lastName);
result = Anyone.Hello();

您可以使用以下布局尝试所有这些:

enter image description here

基本上...就是这样!通过这种方式,您可以根据需要创建任意多个类(具体的或抽象的)和接口,只需将它们堆叠在“全局代码”窗格中即可。

最后,请确保您了解大多数VBO(如Excel)都是用Visual Basic编写的,因此切碎的内容将不会与C#代码一起编译。您必须使用其中一个。是的,它们都是.NET语言,但是一旦选择BP Object语言,就必须使用该语言编写代码。

答案 1 :(得分:2)

带有全局代码的VBO的一个很好的例子是MS Excel VBO。它包含几种功能和方法。

Protected Function GetWorksheet(Handle As Integer, _
    WorkbookName As String, _
    WorksheetName As String) As Object
    Return GetWorksheet(Handle,WorkbookName,WorksheetName,True)
End Function

Protected Sub CloseInstance(Handle As Integer, SaveWorkbooks As Boolean)
...
End Sub

该代码可以在以后的代码阶段中使用

Dim ws as Object = GetWorksheet(handle, workbookname, worksheetname)
CloseInstance(handle, savechanges)

此外,每个代码阶段实际上都是一个方法,您可以从其他代码阶段调用它。

例如,如果我们在MS Excel VBO中有一个称为“创建实例”的代码阶段,它不包含输入,而仅包含一个输出(整数),那么我们可以使用以下代码来调用它:

Create_Instance(out)

这也是代码阶段名称必须唯一的原因。