我在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作为字符串传递给我的函数的正确方法是什么?
感谢。
答案 0 :(得分:2)
SelectedItem
返回所选对象。如果您需要文本,请使用SelectedItem.ToString()
。但要注意选定的项目,这可能会更好:
string selectedText = combo.SelectedItem == null ? string.Empty : combo.SelectedItem.ToString()
如果您没有在项目列表中添加字符串,那么当您对变量使用null
运算符并尝试将其转换为不属于该类型的类型时,您将获得as
。 / p>