UiBot教程:如何用C#.Net编写插件?

文摘   2024-11-09 10:12   陕西  

今天咱们聊聊 如何用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#之间会尽量匹配。如果传递参数时类型不对,你很可能会遇到运行时错误。
  • 复杂数据类型如数组和字典,则要使用 JArrayJObject 来处理。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#写插件时,有几点需要特别注意:

  1. 默认参数:C#.Net插件支持默认参数,也就是说,你可以在函数定义里设置默认值,这样如果UiBot没有传递参数,函数会使用默认值。
  2. 异常处理:如果你的C#代码里抛出了异常,UiBot会捕获这些异常,并输出错误信息。这样调试起来就会方便很多。
  3. 大小写敏感:在C#里,函数名和变量名是区分大小写的,但在UiBot中调用时却不区分大小写。这点需要特别注意,以免出现不必要的错误。

结语

用C#.Net编写UiBot插件对于那些熟悉微软技术栈的小伙伴来说,简直就是“游刃有余”。它严格的类型检查、丰富的类库支持,加上Visual Studio这个强大的开发工具,让整个开发流程变得既高效又灵活。

更重要的是,通过C#.Net插件,你可以给UiBot增加更多的“超能力”,让它变成一个更强大的自动化工具。

总之,我觉得如果你是个C#开发者,完全可以利用UiBot的插件机制来实现更复杂的自动化流程。C#.Net插件不仅功能强大,还能确保性能和类型安全,是一种非常可靠的扩展方式。

现在市面上有很多RPA社群,但免费的却很少,这里推荐一个免费的交流社群,我也会在里面分享一些干货。

如何获取今天的神器?
关注下方公众号,回复关键词:uibot 获取软件安装包。

点分享

点收藏

点点赞

点在看

web前端专栏
回复 javascript,获取前端面试题。分享前端教程,AI编程,AI工具,Tailwind CSS,Tailwind组件,javascript教程,webstorm教程,html教程,css教程,nodejs教程,vue教程。
 最新文章