UiBot插件扩展:如何用C#.Net编写UiBot插件

UiBot支持通过C#.Net编写插件,需编写C#代码并编译成.dll文件,放置到extend/DotNet目录下。微软的Visual Studio是推荐的开发工具,可以使用其免费社区版来编写和编译.Net插件。

UiBot提供了GitHub上的插件模板,下载后可以直接修改UiBotPlugin.cs文件,并将命名空间和插件名调整为您的自定义名称。例如,如果插件文件名为DotNetPlugin.dll,那么命名空间和插件名也应为DotNetPlugin

rpa_tutorial_uibot_advance_csharp_plugin_1

示例中的Add函数是这样编写的:

    
public class DotNetPlugin : IPluginInterface
{
    public int Add(int a, int b)
    {
        return a + b;
    }
}

编译后,生成的.dll文件放置在extend/DotNet目录下。可以在UiBot中通过以下代码调用:

    
Traceprint DotNetPlugin.Add(1, 1)

运行后,结果为2,证明插件正常调用。

rpa_tutorial_uibot_advance_csharp_plugin_2

插件API

C#.Net插件可以通过API反向调用UiBot的一部分功能,调用方式与Java插件类似。在编写时,只需使用提供的模板中的DotNetAdapter.dll,无需额外设置。

常用API包括:

  • UiBot.API.IsStop():检测当前流程是否需要停止。
  • UiBot.API.GetString(string_path):根据语言版本获取指定路径的字符串。

变量传递与类型要求

C#.Net是静态类型语言,使用时需注意类型匹配:

  • 对于基本数据类型(如整数、浮点数、布尔值等),UiBot会尽量自动进行类型转换,但仍需谨慎处理,以防止错误。
  • 复杂数据类型如数组和字典,需使用JArrayJObject类型。UiBot会自动将其转换为对应的UiBot数组或字典。
  • 所有变量传递采用值传递的方式,确保数据不会意外被修改。

模板中提供了一个Concat函数,展示了如何将两个数组传递到.Net插件中,并将结果返回给UiBot。

插件的引用模块

如果.Net插件需要依赖第三方库,可以将这些.dll文件放置在插件的.lib目录下,UiBot会自动加载。例如,extend/DotNet/插件名.lib下的所有.dll文件都可以被引用。

其他注意事项

  • .Net插件支持默认参数,未提供值时会使用默认值。
  • .Net插件的函数可以抛出异常,UiBot会捕获并提示错误信息,便于调试。
  • UiBot调用C#函数时不区分大小写,可以随意使用函数名的大小写。

结语

用C#.Net编写UiBot插件非常适合熟悉微软技术栈的开发者。其严格的类型检查、丰富的类库支持,以及Visual Studio的便捷开发环境,使得编写和维护插件变得高效。在使用中,我发现,.Net插件的开发体验良好,可以带来更高的灵活性与强大的功能扩展。对于UiBot用户,C#.Net插件是一个强大的工具,用于实现更复杂的自动化流程。

阅读全文
AI工具教程
免费领取AI学习资料 进AI副业交流群
礼物
AI工具教程
免费领取AI学习资料 进AI副业交流群