Suggestion: show indexer accesors as `this[...].get` instead of `get_Item(...)`
jnm2 opened this issue · comments
Joseph Musser commented
Current:
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at TValue System.Collections.Generic.Dictionary<TKey, TValue>.get_Item(TKey key)
Proposed:
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at TValue System.Collections.Generic.Dictionary<TKey, TValue>.this[TKey key].get
If the property name matches the type's DefaultMemberAttribute (if it exists) or is "Item"
(only if DefaultMemberAttribute does not exist), it is a default indexer and should be shown using the keyword this
.
Otherwise, it is a non-default indexer which languages other than C# can declare but C# cannot, and it could be shown using its name instead of the keyword this
or it could go back to its current behavior (get_NameOfNonDefaultIndexer
) which matches the C# syntax you would use to actually call a non-default indexer from C# code.
The set
/init
accessor would be the same.