我已经为处理ListBox SelectedItem的 WPF ListBox 控件创建了一个扩展方法,但我想把它做得更好,我想在我输入时显示我的扩展方法listBox1.SelectedItem.MyExtendMethod();
我可以更改我的方法public static void MyExtendMethod(this object item)
,但它会显示所有“对象”
我能为这个仅显示 ListBox>objects 的扩展方法做些什么?这个有可能?
嗯,不。由于扩展方法对调用站点一无所知,因此您不能将其限制为ListBox.SelectedItem
. 您最好将其应用于ListBox
.
ListBox.Selecteditem 的数据类型是对象。因此,您的扩展方法需要对“this”使用“object”数据类型。
但是,可以通过在为 ListBox 显式定义的扩展方法中处理 SelectedItem。
例如
public static class ListBoxExtensionMethod
{
public static void yourSpecialExtendedMethodForSelectedItem(this ListBox listBox)
{
// do your work here on listBox.SelectedItem
}
}