如何将数组返回到编码的 UI 测试 c# 中的调用方法

本文关键字:测试 UI 方法 调用 编码 数组 返回 | 更新日期: 2023-09-27 18:36:56

我正在尝试创建一个接受字符串并返回数组的解析函数。到目前为止,我的数组声明有问题:

var sArray = sfunctions.ParseThis(ctrlValue);
ctrlValue = sArray[0]; // Get the first string from the array
rValue = sNew[1];

我也尝试过:

string [] sArray = sfunctions.ParseThis(ctrlValue);

在我以前的 c 编程时代,我可以声明一个数组,它将存在于函数之外,无需传递任何引用,只是不确定如何在 c# 或编码的 ui 测试中做到这一点。

感谢您的帮助。

control.ClickCustomControl(parent, "InnerText", "Register-16"); 

其中 ctrlValue = "Register-16"

和 - 其他答案:

public Array ParseThis(string sToParse)
{
    char cSplit = '-';
    string[] sNew = sToParse.Split(new char[] { cSplit });
    return sNew;
}

如何将数组返回到编码的 UI 测试 c# 中的调用方法

如果你的ParseThis方法必须返回一个Array,你应该调用sArray.GetValue(0)。或者,只需使该方法返回string[],即可使用 [0] 索引器。

public Array ParseThis(string sToParse)
{
    return sToParse.Split(new char[] { '-' });
}

对应:

ctrlValue = sArray.GetValue(0);

public string[] ParseThis(string sToParse)
{
    return sToParse.Split(new char[] { '-' });
}

对应:

ctrlValue = sArray[0];

但在这种情况下,您也可以使用 GetValue 方法。

另一个主题上,您应该在尝试访问第一个元素之前检查返回的对象至少有一个元素。

避免直接在代码中使用Array类(除非调用其静态方法)。 您应该返回实际的数组类型(在您的情况下string[]

从 MSDN:

Array类是支持数组的语言实现的基类。但是,只有系统和编译器才能从 Array 类显式派生。用户应使用该语言提供的数组构造。

因此,更合适的声明是

public string[] ParseThis(string sToParse)
{
    char cSplit = '-';
    string[] sNew = sToParse.Split(new char[] { cSplit });
    return sNew;
}

但是你真的不需要函数,因为你可以做

string[] parts = ctrlValue.Parse('-');