C#';对象';仅为WPF ListBox控件扩展方法

本文关键字:控件 扩展 方法 ListBox 仅为 对象 WPF | 更新日期: 2023-09-27 18:20:19

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

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

我能为这个只为ListBox>对象显示的扩展方法做些什么?这是可能的吗?

C#';对象';仅为WPF ListBox控件扩展方法

嗯,不。由于扩展方法对调用站点一无所知,因此不能将其限制为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
    }
}