[英]How do I return an array to a calling method in coded ui test c#
我正在嘗試創建一個解析函數,該函數接受一個字符串並返回一個數組。 到目前為止,我的數組聲明有問題:
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;
}
如果您的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('-');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.