如何将combo.SelectedItem作为字符串发送到函数

时间:2011-09-05 07:48:24

标签: c# wpf c++-cli

我在C ++ CLI中有以下功能:

void receiveData(String^ data)
{

}

从C#我调用这样的函数:

if (e.OriginalSource is ComboBox)
{
  ComboBox combo = e.OriginalSource as ComboBox;
  if (combo.SelectedItem != null)
  {
      receiveData(combo.SelectedItem as string);
  }
}

但是在函数内部,string参数总是未定义的 将SelectedItem作为字符串传递给我的函数的正确方法是什么?

感谢。

1 个答案:

答案 0 :(得分:2)

SelectedItem返回所选对象。如果您需要文本,请使用SelectedItem.ToString()。但要注意选定的项目,这可能会更好:

string selectedText = combo.SelectedItem == null ? string.Empty  : combo.SelectedItem.ToString()

如果您没有在项目列表中添加字符串,那么当您对变量使用null运算符并尝试将其转换为不属于该类型的类型时,您将获得as。 / p>