在c#foreach循环中调用对象成员

时间:2015-12-14 12:53:06

标签: c#

我的程序中有很多标签页,我想添加或删除这些页面。我正在使用以下语句来完成它。

object[] listToRemove = {tabPage1, tabPage2,tabPage3, ... tabPage20};

foreach ( object itr in listToRemove)
{
    if(this.myControlForm.TabPages.Contains(itr))
    {
        this.myControlForm.TabPages.Remove(itr));
    }
}

但是当我有很多要添加或删除的标签页面时会产生太多代码,所以我想在数组中添加它们并制作一个foreach循环但是我收到了错误

我的代码是:

{{1}}

为什么会发生这种情况,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

listToRemove更改为显式类型,即从对象数组更改为TabPage数组。

与循环中的itr变量相同的故事。

ContainsRemove方法期望参数类型为TabPage,而不是object - 这就是您收到错误的原因。

TabPage[] listToRemove = {tabPage1, tabPage2,tabPage3, ... tabPage20};

foreach (TabPage itr in listToRemove)
{
  if(this.myControlForm.TabPages.Contains(itr))
      this.myControlForm.TabPages.Remove(itr);
}