是否可以通过TypeDescriptor访问对象的索引器?

时间:2013-07-19 16:18:18

标签: .net wpf data-binding typedescriptor

我很难通过TypeDescriptor获取有关对象索引器的信息 - 只是为了确定,我的意思是这样的:

class ComponentWithIndexer
{
    public string this[int i]
    {
        get { return "hello"; }
    }
}

由于您可以通过自定义 Typedescriptors 来影响WPF中的绑定,并且因为您可以绑定到WPF中的索引器(例如{Binding [12]),我想知道是否也可以通过类型获得有关索引器的信息描述。 那么,信息隐藏在哪里,如果它没有隐藏,那么WPF绑定索引器的工作方式是什么?

1 个答案:

答案 0 :(得分:4)

简短回答,不是 - 你无法通过TypeDescriptor

获得索引器

更长的答案 - 为什么你不能 - 在TypeDescriptor混乱的o-classes的内部深处,有{{1的聚合属性的反射调用调用。在这里有代码:

GetProperties

重要的部分是检查0索引参数 - 如果它有一个索引器,它会跳过它。 :(