## Incorrect implementation of MemberDescriptor.Equals ### Scope Edge ### Version Introduced 4.6.2 ### Source Analyzer Status Planned ### Change Description The original implementation of the method compares two different string properties from the objects being compared: the category name and the description string. The fix is to compare the of the first object to the of the second one, and the of the first to the of the second. - [x] Quirked - [ ] Build-time break ### Recommended Action If your application depends on sometimes returning `false` when descriptors are equivalent, and you are targeting the .NET Framework 4.6.2 or later, you have several options: 1. Make code changes to compare the and fields manually in addition to calling the method. 2. Opt out of this change by adding the following value to the app.config file: ```xml ``` If your application targets .NET Framework 4.6.1 or earlier and is running on the .NET Framework 4.6.2 or later and you want this change enabled, you can set the compatibility switch to `false` by adding the following value to the app.config file: ```xml ``` ### Affected APIs * `M:System.ComponentModel.MemberDescriptor.Equals(System.Object)` ### Category Windows Forms