0

我已经为处理ListBox SelectedItem的 WPF ListBox 控件创建了一个扩展方法,但我想把它做得更好,我想在我输入时显示我的扩展方法listBox1.SelectedItem.MyExtendMethod();

我可以更改我的方法public static void MyExtendMethod(this object item),但它会显示所有“对象”

我能为这个仅显示 ListBox>objects 的扩展方法做些什么?这个有可能?

4

2 回答 2

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 回答