I came across a bug in the .Net Framework the other day.
When specifying SortDescriptions on a CollectionViewSource there is a problem when using a complex path for the property name. This occurs when part of the path being checked is null. If I have the classes defined below
class Foo{
string Name {get; set;}
}
class Bar{
Foo FooMember {get; set;}
}
If there is a CollectionViewSource that contains a list of Bar's and it is desired to sort each bar by Foo's name a SortDescription can be created as
SortDescription d = new SortDescription("FooMember.Name", ListSortDirection.Ascending);
If that SortDescription is added to the sort descriptions of the CollectionViewSoure it will properly order the items with one exception. This one exception is if there is an instance of Bar in the collection that the CollectionViewSource uses as the source. In this case an ArgumentException stating that there is a type mismatch and the element must be a string occurs.
The reason this occurs is that in the Compare method of the SoftFieldComparer obtains a strange object when its accessing the instance of Bar that has a null FooMember. Rather than just being null, its an MS.Internal.NamedObject with a _name value of "DependencyProperty.UnsetValue". This is a problem because it then tries to do a comparison betwen the string and the NamedObject which cannot be compared, which causes the ArgumentException. This case needs to be handled to be able to sort items with null members.
I have submitted this as an issue to Microsoft https://connect.microsoft.com/VisualStudio/feedback/details/539559/sortfieldcomparer-compare-method-can-throw-an-exception
Subscribe to:
Post Comments (Atom)
michael kors outlet
ReplyDeleteair jordan 4
nba jersey
tory burch outlet
cheap nfl jerseys
michael kors outlet
polo outlet
ugg outlet
canada goose outlet
pandora charms
yaoxuemei20180702
20180724 xiaoou
ReplyDeletetoms outlet
mulberry handbags sale
mulberry handbags
swarovski jewellery
cheap nba jerseys
air jordan shoes
fitflops sale clearance
bally shoes
pandora charms sale clearance
nobis jackets