首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何返回多个数据类型

如何返回多个数据类型
EN

Stack Overflow用户
提问于 2014-04-28 16:16:02
回答 3查看 200关注 0票数 2

我有一个方法,我希望能够返回一个IWebElements列表、一个元素名称列表或一个字符串数组。是否可以使用一种方法返回多个数据类型?是否有一种更可行的方法来获得不同的返回类型而不使用一种方法?

代码语言:javascript
运行
复制
/// <summary>
/// Gets all options belonging to this selected tag
/// </summary>
/// <returns>Returns a list of IWebElements</returns>
public List<IWebElement> SelectAllOptions(IWebDriver driver, ref DataObject masterData)
{
    //Get the ID of the dropdown menu
    DatabaseRetrieval.GetObjectRepository(ref masterData);
    var strDropMenuId = masterData.DictObjectRepository["ID"];
    //Find the dropdown menu and pull all options into a list
    try
    {
        var dropMenu = new SelectElement(driver.FindElement(By.Id(strDropMenuId)));
        return dropMenu.Options as List<IWebElement>;
    }
    catch (NoSuchElementException exception)
    {
        masterData.Logger.Log(Loglevel.Error, "Boom: {0}", exception.Message);
    }
    masterData.Logger.Log(Loglevel.Debug, "No options found for DropDownMenu: {0}", strDropMenuId);
    return null;
}
EN

Stack Overflow用户

回答已采纳

发布于 2014-04-28 16:18:26

可以将返回类型更改为

代码语言:javascript
运行
复制
Dictionary<IWebElement, string>

一旦编译好了IWebElements的列表,就可以简单地将与IWebElement相关联的字符串添加到字典中返回--调用您的方法的人将同时拥有IWebElement和用于处理的字符串。

代码语言:javascript
运行
复制
var options = dropMenu.Options as List<IWebElement>;
if (options != null)
{
    var values = options.ToDictionary(option => option, option => option.Text);
    return values;
}
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23346126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档