0

ListBox SelectedItemを扱うためのWPF ListBoxコントロールのextendメソッドを作成しましたが、これをより良くしたいので、入力時にextendメソッドを表示したいですlistBox1.SelectedItem.MyExtendMethod();

のメソッドを変更できますがpublic static void MyExtendMethod(this object item)、すべての「オブジェクト」に対して表示されます

ListBox>objects に対してのみ表示されるこの拡張メソッドに対して何ができますか? これは可能ですか?

4

2 に答える 2

1

うーん、ダメ。拡張メソッドは呼び出しサイトについて何も知らないため、1 つを に制限することはできませんListBox.SelectedItem。に適用するだけの方がよいでしょうListBox

于 2013-06-29T19:17:11.673 に答える
0

ListBox.Selecteditem のデータ型はオブジェクトです。したがって、拡張メソッドは「this」に「object」データ型を使用する必要があります。

ただし、ListBox に対して明示的に定義された拡張メソッド内で SelectedItem を操作することで可能です。

例えば

public static class ListBoxExtensionMethod
{
    public static void yourSpecialExtendedMethodForSelectedItem(this ListBox listBox)
    {
        // do your work here on listBox.SelectedItem
    }
}
于 2013-06-29T20:06:24.273 に答える