Foreach statement cannot operate on a `method group'

Thanks for help.
Assets/scripts/MenuManager.cs(55,56): error CS0446: Foreach statement cannot operate on a `method group’

using UnityEngine;
using System.Collections;

public class MenuManager : MonoBehaviour
{
	public string CurrentMenu;
	public string MatchName = "";
	public string MatchPassword = "";
	public int MatchMaxPlayers = 32;
	private Vector2 ScrollLobby = Vector2.zero;
	
	void Start()
	{
		CurrentMenu = "main";
		MatchName = "Game " + Random.Range(0, 5000);
	}
	
	void OnGUI()
	{
		if(CurrentMenu == "main")
			Menu_Main();
		if(CurrentMenu == "Lobby")
			Menu_Lobby();
		if(CurrentMenu == "Host")
			Menu_HostGame();
	}
	
	public void NavigateTo(string nextmenu)
	{
		CurrentMenu = nextmenu;
	}
	
	private void Menu_Main()
	{
		//Main Menu Buttons
		if (GUI.Button(new Rect(10, 10, 200, 50), "Host Game"))
		{
			NavigateTo("Host");
		}
		
		if (GUI.Button(new Rect(10, 70, 200, 50), "Refresh"))
		{
			MasterServer.RequestHostList("DeathMatch");
		}
		
		GUI.Label(new Rect(220, 10, 130, 30), "Player Name");
		MultiplayerManager.instance.PlayerName = GUI.TextField(new Rect(350, 10, 150, 30), MultiplayerManager.instance.PlayerName);
		if (GUI.Button(new Rect(510, 10, 100, 30), "Save Name"))
		{
			PlayerPrefs.SetString("PlayerName", MultiplayerManager.instance.PlayerName);
		}
		
		GUILayout.BeginArea(new Rect(Screen.width - 400, 0, 400, Screen.height), "Server List", "Box");
		GUILayout.Space(20);
		foreach(HostData match in MasterServer.PollHostList)
		{
			GUILayout.BeginHorizontal("Box");
			
			GUILayout.Label(match.gameName);
			if (GUILayout.Button("Connect"))
			{
				Network.Connect(match);	
			}
			
			GUILayout.EndHorizontal();
		}
		
		GUILayout.EndArea();
	}
	
	private void Menu_HostGame()
	{
		//Buttons for Hosting
		if (GUI.Button(new Rect(10, 10, 200, 50), "Back"))
		{
			NavigateTo("main");
		}
		if (GUI.Button(new Rect(10, 60, 200, 50), "Start Server"))
		{
			MultiplayerManager.instance.StartServer(MatchName, MatchPassword, MatchMaxPlayers);
		}
		
		GUI.Label(new Rect(220, 10, 130, 30), "Match Name");
		MatchName = GUI.TextField(new Rect(400, 10, 200, 30), MatchName);
		
		GUI.Label(new Rect(220, 50, 130, 30), "Match Password");
		MatchPassword = GUI.PasswordField(new Rect(400, 50, 200, 30), MatchPassword, '*');
		
		GUI.Label(new Rect(220, 90, 130, 30), "Match Max Players");
		GUI.Label(new Rect(400, 90, 200, 30), MatchMaxPlayers.ToString());
		MatchMaxPlayers = Mathf.Clamp(MatchMaxPlayers, 8, 32);
		
		if (GUI.Button(new Rect(425, 90, 25, 30), "+"))
			MatchMaxPlayers += 2;
		if (GUI.Button(new Rect(450, 90, 25, 30), "-"))
			MatchMaxPlayers -= 2;
	}
	
		private void Menu_Lobby()
	{
		ScrollLobby = GUILayout.BeginScrollView(ScrollLobby, GUILayout.MaxWidth(200));
		
		foreach(MPPlayer pl in MultiplayerManager.instance.PlayerList)
		{
			GUILayout.Box(pl.PlayerName);
		}
		
		GUILayout.EndScrollView();
	}
	
	void OnServerInitialized()
        {
            NavigateTo("Lobby");
        }
       
        void OnConnectedToServer()
        {
            NavigateTo("Lobby");
        }
}

From the error that’s given, its referring to this line of code:

foreach(HostData match in MasterServer.PollHostList)

The foreach has to act on a container (array-like type) to work, but its recognizing MasterServer.PollHostList as a “method group”. Essentially, you are either using MasterServer.PollHostList or foreach wrong.

From the Unity Script Reference documentation of it, it looks like PollHostList is a function that returns an array, so to get the array you must call the function by using a parameter list, like so:

foreach(HostData match in MasterServer.PollHostList())