-1

すっごく、エラーが発生し続けます:

'object' には 'text' の定義が含まれておらず、タイプ 'object' の最初の引数を受け入れる拡張メソッド 'text' が見つかりませんでした (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");
    }
4

5 に答える 5

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());
于 2012-07-26T21:33:47.817 に答える
1

SelectedItem は、型オブジェクトのインスタンスを返すだけです。実際にプロパティ「テキスト」を持つ型にキャストする必要があります。

((MyType)(cboDataSets.SelectedItem)).text
于 2012-07-26T21:34:40.200 に答える
0

おそらくあなたのプロパティは「テキスト」ではなく「テキスト」です:)

于 2012-07-26T21:36:17.153 に答える
0

エラーはかなり明白です:cboDataSets.SelectedItemには というプロパティが含まれていませんが、textそのプロパティを参照しています。

その物件名はどこから?

SelectedItemリスト項目をオブジェクトとして返します。必要なデータを取得するには、必要に応じてキャストを入力します。

于 2012-07-26T21:34:02.030 に答える
0

"Text" のように、大きな "T" で試してください。

于 2012-07-26T21:37:29.483 に答える