Sooo,我一直收到错误:
'object'不包含'text'的定义,也没有扩展名 方法'text'接受'object'类型的第一个参数可以是 发现(您是否缺少using指令或程序集引用?)
以下代码 - 任何人都可以告诉我为什么?
private void cboDataSets_SelectedIndexChanged(object sender, EventArgs e)
{
int cats = Int16.Parse(cboDataSets.SelectedItem.text);
lblGenerateSelection.Text = ("you have selected " + (20 - cats) + "cats you'd like to adopt");
}
答案 0 :(得分:3)
cboDataSets.SelectedItem将返回对象。如果它确实包含一个具有.Text属性的对象,则必须将其强制转换
int name =
Int16.Parse(((SomeObectWithATextProperty)cboDataSets.SelectedItem).Text);
如果SelectedItem实际上是一个字符串,则可以改为:
int name =
Int16.Parse(((string)cboDataSets.SelectedItem));
如果SelectedItem是一个覆盖ToString()以显示有意义数据的对象,则可以执行此操作
int name =
Int16.Parse(cboDataSets.SelectedItem.ToString());
答案 1 :(得分:1)
SelectedItem只返回object类型的实例。您需要将其强制转换为实际具有属性“text”的类型:
((MyType)(cboDataSets.SelectedItem)).text
答案 2 :(得分:0)
错误似乎很清楚:cboDataSets.SelectedItem
不包含名为text
的属性,但您正在引用该属性。
你从哪里获得该属性名称?
SelectedItem
返回列表项作为对象。根据需要输入cast以获取所需的数据。
答案 3 :(得分:0)
很可能你的财产是“文字”而不是“文字”:)
答案 4 :(得分:0)
尝试使用大" T",例如"文字"。