今天咱们聊聊 如何用C#.Net编写UiBot插件。作为程序员,很多时候我们都需要把现有工具的功能扩展一下。
UiBot作为一款RPA(机器人流程自动化)工具,功能已经很丰富了,但有时候你可能会觉得还不够用。没关系,UiBot支持通过C#.Net写插件,帮助我们实现更复杂的自动化流程。
简单步骤
首先,你得有一个合适的开发环境。推荐用 Visual Studio 来开发C#.Net插件,尤其是免费的社区版,简直是入门神器。
UiBot要求插件编译成.dll
文件,所以我们先写C#代码,再编译成.dll
,最后把它放到UiBot的 extend/DotNet
目录下。
好,咱们用个简单的例子说明一下。你可以去 GitHub 上下载官方提供的插件模板,模板里已经帮你把一些基础配置都搞定了。你只需要修改 UiBotPlugin.cs
文件,把命名空间和插件名改成自己喜欢的名字就行了。
比如说,你写了个简单的加法函数:
public class DotNetPlugin : IPluginInterface
{
public int Add(int a, int b)
{
return a + b;
}
}
编译之后,你会得到一个.dll
文件,把它放到 extend/DotNet
目录下。接着,你就可以在UiBot里像这样调用你的插件:
Traceprint DotNetPlugin.Add(1, 1)
运行这个流程,输出结果会是2
,证明插件已经成功运行了。
插件API
写了个插件,咱们当然不希望它只是个普通的“计算器”,那样多没意思。好在,UiBot提供了一些API,能让你做更多有趣的事。通过这些API,你可以让插件和UiBot进行更深层次的交互。
你不需要额外导入什么复杂的包,只要用好UiBot提供的 DotNetAdapter.dll
就行了。下面给你几个常用的API例子:
** UiBot.API.IsStop()
**:这个函数可以帮助你检测当前流程是否需要停止,方便你根据需要控制流程的走向。** UiBot.API.GetString(string_path)
**:这个可以根据系统的语言版本获取指定路径的字符串,特别适合处理多语言环境的项目。
想象一下,你可以这样写代码来调用API:
public class DotNetPlugin : IPluginInterface
{
public string GetString()
{
return UiBot.API.GetString("some_path");
}
}
有了这些API,插件的功能就不再局限于简单的加法运算了。你可以让插件在流程运行时做一些判断,获取UiBot中的信息,甚至控制整个流程的执行。
类型匹配和数据传递
C#是静态类型的语言,所以数据传递时必须格外小心。UiBot会自动帮你进行基本的数据类型转换,但有些细节你还得注意:
对于整数、浮点数、布尔值这些基本类型,UiBot和C#之间会尽量匹配。如果传递参数时类型不对,你很可能会遇到运行时错误。 复杂数据类型如数组和字典,则要使用 JArray
和JObject
来处理。UiBot会把这些类型自动转换为UiBot的数组和字典格式。
举个例子,假设你写了一个 Concat
函数,接受两个数组并返回拼接后的结果:
using Newtonsoft.Json.Linq;
public class DotNetPlugin : IPluginInterface
{
public string Concat(JArray array1, JArray array2)
{
return string.Join(",", array1.ToObject<string[]>()) + string.Join(",", array2.ToObject<string[]>());
}
}
这样,你就可以在UiBot流程中传递数组给插件并返回处理后的结果,类型匹配和转换完全由UiBot和C#来搞定,省心省力。
引用外部模块
有时候,UiBot内置的类库不够用,没关系,你可以给C#.Net插件引入第三方的.dll
文件。只需要把这些.dll
文件放在 extend/DotNet/<插件名>.lib
目录下,UiBot会自动加载它们。
举个例子,假设你需要使用某个特殊的第三方库来进行一些数据分析,只要把相关的.dll
文件放进这个目录下,然后在代码里用 using
引入它们,就像在普通的C#项目中一样。
其他注意事项
在用C#写插件时,有几点需要特别注意:
默认参数:C#.Net插件支持默认参数,也就是说,你可以在函数定义里设置默认值,这样如果UiBot没有传递参数,函数会使用默认值。 异常处理:如果你的C#代码里抛出了异常,UiBot会捕获这些异常,并输出错误信息。这样调试起来就会方便很多。 大小写敏感:在C#里,函数名和变量名是区分大小写的,但在UiBot中调用时却不区分大小写。这点需要特别注意,以免出现不必要的错误。
结语
用C#.Net编写UiBot插件对于那些熟悉微软技术栈的小伙伴来说,简直就是“游刃有余”。它严格的类型检查、丰富的类库支持,加上Visual Studio这个强大的开发工具,让整个开发流程变得既高效又灵活。
更重要的是,通过C#.Net插件,你可以给UiBot增加更多的“超能力”,让它变成一个更强大的自动化工具。
总之,我觉得如果你是个C#开发者,完全可以利用UiBot的插件机制来实现更复杂的自动化流程。C#.Net插件不仅功能强大,还能确保性能和类型安全,是一种非常可靠的扩展方式。
现在市面上有很多RPA社群,但免费的却很少,这里推荐一个免费的交流社群,我也会在里面分享一些干货。
点分享
点收藏
点点赞
点在看