我已经为WPF ListBox控件创建了一个用于处理 ListBox SelectedItem 的扩展方法,但是我想把它变得更好,我想在我输入listBox1.SelectedItem.MyExtendMethod();
时显示我的扩展方法
我可以更改public static void MyExtendMethod(this object item)
的方法,但会显示所有'对象'
我可以为此扩展方法做什么,只显示ListBox>对象?这可能吗?
答案 0 :(得分:1)
嗯,不。由于扩展方法对呼叫网站一无所知,因此您无法将其限制为ListBox.SelectedItem
。您最好只将其应用于ListBox
。
答案 1 :(得分:0)
ListBox.Selecteditem的数据类型是对象。所以你的扩展方法需要使用'this'的'object'数据类型。
然而,可以通过在为ListBox显式定义的扩展方法中处理SelectedItem来实现。
E.g。
public static class ListBoxExtensionMethod
{
public static void yourSpecialExtendedMethodForSelectedItem(this ListBox listBox)
{
// do your work here on listBox.SelectedItem
}
}