我是Blue Prism RPA开发人员,我想在全局代码中创建方法并从其他代码阶段调用它们。在“全局代码信息”页面中,声明可以执行此操作,但是我找不到关于此主题的令人满意的资源。 任何人都可以共享语法规则集,也许是示例全局代码和代码阶段代码片段,还是可以指导我? 我使用C#,非常感谢C#中的响应
注意:我不是来自开发人员,我有基本的编码知识,但是我对OOP主题(即:类,方法,构造函数,继承等)不完全了解
我尝试声明一个类和一个方法都可行,我可以调用该方法,但是当我尝试添加新方法和/或类失败时,它无法与整体代码一起编译
答案 0 :(得分:3)
如果我正确理解了您的问题,那么您正在寻找一个包含一个或多个方法的类的示例,可以将其放入BP Object的Initialize页面的Global Code阶段,然后可以创建/从该BP对象中的其他页面在代码阶段调用该类/方法的实例。
我不知道您知道多少,所以我将假设每个步骤都需要解释。
由于使用的是C#,因此第一站应该是“代码选项”选项卡。在这里,您应该在顶部窗格中引用要使用的任何库(.dll),并在底部窗格中引用它们各自的名称空间。 BP已经包括一些基本的功能,如下所示。将语言选择更改为C#(左下下拉菜单)也非常重要,因为Visual Basic似乎是默认选项:
接下来,这是一个简单的具体类的示例,其中包含一些字段,构造函数,属性和方法。您可以按原样将此代码放在“全局代码”窗口中:
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();
您可以使用以下布局尝试所有这些:
基本上...就是这样!通过这种方式,您可以根据需要创建任意多个类(具体的或抽象的)和接口,只需将它们堆叠在“全局代码”窗格中即可。
最后,请确保您了解大多数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)
这也是代码阶段名称必须唯一的原因。