PostSharp get_Property错误
问题描述:
我正在使用Telerik的PostSharp和RadGridView。某些列使用DataTypeConverter来定制数据,我正在使用它来从AdvisableDictionary<Tkey, TValue>
类型的名为Name
的属性中加载值。PostSharp get_Property错误
网格有过滤器按钮,单击时会显示一个类似Excel的过滤选项的弹出窗口。
但是,当我点击这个按钮,我得到一个错误说Failed to compare two elements in the array.
这只发生在这种类型的数据的列。我对PostSharp没有多少经验,但我认为这是由PostSharp生成的。
下面是输出窗口的最后几行从PostSharp,它会抛出异常之前:
The thread 0x3964 has exited with code 0 (0x0).
The thread 0x364 has exited with code 0 (0x0).
Step into: Stepping over non-user code 'TranslatableObject.get_Name'
Step into: Stepping over non-user code 'TranslatableObject.<Name>c__Binding1.GetValue'
Step into: Stepping over non-user code 'TranslatableObject.<Name>c__Binding1.get_LocationInfo'
Step into: Stepping over non-user code 'TranslatableObject.<Name>c__Binding.GetValue'
我能做些什么来解决这个问题?
答
我想出了一个解决方案。 AdvisableDctionary不实现用于排序项目列表的IComparable。我创建了一个继承AdvisableDictionary并实现IComparable的类,并在FilterPopup的FilterConfirmed事件中更正了过滤器描述符的值。
能否请您粘贴在这里异常的堆栈跟踪和完整的消息?如果您分享了一个可以再现此行为的最小示例,那么也可以帮助找出原因。 –
谢谢! [Here](http://www.telerik.com/account/ClientsFiles/2e7a5d04-c0cc-4c2f-a835-8531ead667c4_ExcelLikeFiltering.zip?accesskey=76010F0054C6AF950F4458F5A0E88AD6643EF13E&expires=636369830483897924)是一个示例项目。我在下面的答案中找到了一个解决方案。 – Tim