Visual C# 2008: неотзываемый элемент "Microsoft.VisualBasic.Devices.Ports.SerialPortNames" нельзя использовать как метод

Может кто-нибудь помочь мне с этой проблемой..? получил эту ошибку при попытке отладки кода..

        private void Form2_Load(object sender, System.EventArgs e)
    {
        this.Show();
        Form1.DefaultInstance.Close();
        ToolTip1.SetToolTip(ComboBox1, "Please enter a VALID phone number");
        ToolTip1.SetToolTip(ComboBox2, "Please check your COM port number before selecting. Connection could be made for outgoing cable or bluetooth port with data calling supported phone.");
        ComboBox1.SelectedIndex = 0;

        for (int i = 0; i < My.Computer.Ports.SerialPortNames.Count; i++)
        {
            ComboBox2.Items.Add(My.Computer.Ports.SerialPortNames(i));
        }

        ComboBox2.SelectedIndex = 0;
    }

это происходит в "SerialPortNames" в этой строке:

ComboBox2.Items.Add(My.Computer.Ports.SerialPortNames(i));

3 ответа

Решение

Вы, вероятно, хотите использовать индексатор - [] вместо вызова метода ()

  for (int i = 0; i < My.Computer.Ports.SerialPortNames.Count; i++)
  {
        ComboBox2.Items.Add(My.Computer.Ports.SerialPortNames[i]);
  }

Возможно попробовать

For Each sp As String In My.Computer.Ports.SerialPortNames
    ListBox1.Items.Add(sp)
Next 

Это было взято с http://msdn.microsoft.com/en-us/library/yfbcbt43%28v=vs.90%29.aspx

Вы используете его как метод, а не как коллекцию (i)).

Попробуйте один из этих двух:

for (int i = 0; i < My.Computer.Ports.SerialPortNames.Count; i++)
{
  ComboBox2.Items.Add(My.Computer.Ports.SerialPortNames[i]);
}

или же

foreach(var portname in My.Computer.Ports.SerialPortNames)
{
  ComboBox2.Items.Add(portname);
}
Другие вопросы по тегам