运行C#代码片段

【注意】请勿设计任何可能侵犯Quicker软件或第三方权益的代码或其他恶意代码。如有违反将直接停用Quicker帐号,请知悉。



通过运行C#代码实现更高级的功能。

此功能仅限对C#熟悉的用户谨慎使用。

此功能使用cs-script组件实现,参考:https://github.com/oleg-shilo/cs-script 为减小安装包,仅引用了CS-Script.lib,支持C#6.0语法。



image.png


C#代码中必须包含一个Exec静态函数,接受IStepContext类型的参数,参考如下示例:


// 引用必要的命名空间
using System.Windows.Forms;

// Quicker将会调用的函数
public static void Exec(Quicker.Public.IStepContext context){
  var oldValue = context.GetVarValue("varName");  // 读取动作里的变量值
  MessageBox.Show(oldValue as string);
  context.SetVarValue("varName", "从脚本输出的内容。"); // 向变量里输出值
}


提示:双击“脚本内容”输入框可以打开编辑器修改代码。


调用


IStepContext 接口

Exec函数需要接收一个IStepContext接口类型的参数,从而实现Quicker动作变量的读写。

接口的声明如下:

namespace Quicker.Public
{
    /// <summary>
    /// 脚本参数接口
    /// </summary>
    public interface IStepContext
    {
        /// <summary>
        /// 获取变量值
        /// </summary>
        /// <param name="varName">变量名</param>
        /// <returns>返回的结果类型,根据需要进行类型转换。</returns>
        object GetVarValue(string varName);

        /// <summary>
        /// 设置变量值
        /// </summary>
        /// <param name="varName">变量名</param>
        /// <param name="value">值,需要根据变量的类型传入合适类型的值</param>
        void SetVarValue(string varName, object value);
    }
}


GetVarValue读取变量值,SetVarValue输出变量值。请在必要时进行类型转换。


错误处理

如果遇到了错误,直接抛出异常即可。



更新历史

  • 1.1.12 加入此模块
语雀在语雀上查看