为什么我的 IEnumerator<AppiumWebElement> 没有 .Where()?
Why does my IEnumerator<AppiumWebElement> not have .Where()?
标题主要解释了我的问题,我的 IEnumerable<AppiumWebElement>
没有 .Where
方法,我希望了解原因。
我有一个方法return是一个IEnumerable<AppiumWebElement>
,如下:
public IEnumerable<AppiumWebElement> GetLayers()
{
var items = PaneOrView.FindElementsByClassName("TreeViewItem");
List<AppiumWebElement> layers = new List<AppiumWebElement>();
foreach(AppiumWebElement item in items)
{
string automationId = item.AutomationId();
if (automationId != null && automationId.Contains("Layer"))
{
layers.Add(item);
}
}
return layers.AsEnumerable();
}
当我检查此方法中的 return 项上是否存在 .Where
时(使用代码完成),我得到了我希望从 [=17 中看到的方法的完整列表=].
但是,当我稍后从另一个名称空间使用此方法时,例如:
var test = Contents.GetLayers();
test
中的结果不包含 .Where
或我希望从 IEnumerable
中看到的任何其他方法。知道为什么吗?
感谢指点!
Where()
和 Linq
中的其他方法是您正在使用的扩展方法。您需要导入 System.Linq
:
using System.Linq;
标题主要解释了我的问题,我的 IEnumerable<AppiumWebElement>
没有 .Where
方法,我希望了解原因。
我有一个方法return是一个IEnumerable<AppiumWebElement>
,如下:
public IEnumerable<AppiumWebElement> GetLayers()
{
var items = PaneOrView.FindElementsByClassName("TreeViewItem");
List<AppiumWebElement> layers = new List<AppiumWebElement>();
foreach(AppiumWebElement item in items)
{
string automationId = item.AutomationId();
if (automationId != null && automationId.Contains("Layer"))
{
layers.Add(item);
}
}
return layers.AsEnumerable();
}
当我检查此方法中的 return 项上是否存在 .Where
时(使用代码完成),我得到了我希望从 [=17 中看到的方法的完整列表=].
但是,当我稍后从另一个名称空间使用此方法时,例如:
var test = Contents.GetLayers();
test
中的结果不包含 .Where
或我希望从 IEnumerable
中看到的任何其他方法。知道为什么吗?
感谢指点!
Where()
和 Linq
中的其他方法是您正在使用的扩展方法。您需要导入 System.Linq
:
using System.Linq;