MenuItemCollection.GetEnumerator Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает перечислитель, который можно использовать для итерации элементов текущего объекта MenuItemCollection.
public:
virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
Возвращаемое значение
Перечислитель, который можно использовать для итерации элементов текущего объекта MenuItemCollection.
Реализации
Примеры
В следующем примере кода показано, как использовать GetEnumerator метод для создания перечислителя, содержащего элементы Music
подменю элемента меню в элементе Menu управления.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Display the submenu items of the Music
// menu item.
// Retrieve the Music menu item.
MenuItem musicMenuItem = NavigationMenu.FindItem(@"Home\Music");
// Use the GetEnumerator method to create an enumerator
// that contains the submenu items of the Music menu item.
IEnumerator menuItemEnumerator = musicMenuItem.ChildItems.GetEnumerator();
Message.Text = "The submenu items of the Music menu item are: <br/><br/>";
// Iterate though the enumerator to display the menu items.
while (menuItemEnumerator.MoveNext())
{
Message.Text += ((MenuItem)(menuItemEnumerator.Current)).Text + "<br />";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemCollection GetEnumerator Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemCollection GetEnumerator Example</h3>
<asp:menu id="NavigationMenu"
orientation="Vertical"
target="_blank"
runat="server">
<items>
<asp:menuitem text="Home"
tooltip="Home">
<asp:menuitem text="Music"
tooltip="Music">
<asp:menuitem text="Classical"
tooltip="Classical"/>
<asp:menuitem text="Rock"
tooltip="Rock"/>
<asp:menuitem text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem text="Movies"
tooltip="Movies">
<asp:menuitem text="Action"
tooltip="Action"/>
<asp:menuitem text="Drama"
tooltip="Drama"/>
<asp:menuitem text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
<hr/>
<asp:label id="Message"
runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Display the submenu items of the Music
' menu item.
' Retrieve the Music menu item.
Dim musicMenuItem As MenuItem = NavigationMenu.FindItem("Home\Music")
' Use the GetEnumerator method to create an enumerator
' that contains the submenu items of the Music menu item.
Dim menuItemEnumerator As IEnumerator = musicMenuItem.ChildItems.GetEnumerator()
Message.Text = "The submenu items of the Music menu item are: <br/><br/>"
' Iterate though the enumerator to display the menu items.
While menuItemEnumerator.MoveNext()
Message.Text &= (CType(menuItemEnumerator.Current, MenuItem)).Text & "<br />"
End While
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemCollection GetEnumerator Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemCollection GetEnumerator Example</h3>
<asp:menu id="NavigationMenu"
orientation="Vertical"
target="_blank"
runat="server">
<items>
<asp:menuitem text="Home"
tooltip="Home">
<asp:menuitem text="Music"
tooltip="Music">
<asp:menuitem text="Classical"
tooltip="Classical"/>
<asp:menuitem text="Rock"
tooltip="Rock"/>
<asp:menuitem text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem text="Movies"
tooltip="Movies">
<asp:menuitem text="Action"
tooltip="Action"/>
<asp:menuitem text="Drama"
tooltip="Drama"/>
<asp:menuitem text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
<hr/>
<asp:label id="Message"
runat="server"/>
</form>
</body>
</html>
Комментарии
GetEnumerator Используйте метод для создания перечислителя, который можно легко итерировать для получения каждого элемента в текущем MenuItemCollection объекте. Чтобы получить элемент, на который в данный момент указывает перечислитель, используйте Current свойство. MoveNext Используйте метод для перехода к следующему элементу. Если необходимо переместить перечислитель обратно в начало коллекции, используйте Reset метод.
Примечание
После создания перечислителя или использования Reset метода необходимо вызвать MoveNext метод. В противном случае элемент, представленный свойством Current , не определен.
В качестве альтернативы можно также использовать CopyTo метод для копирования элементов в коллекцию в массив. Затем можно использовать массив для доступа к элементам в коллекции.