Roslyn method survey - Revised signature builder
My previous method signature survey code was clunky, so I wanted to refine it a little to be simpler and to refocus based on the need to do string matches for parameter and return types. The result is a little clearer. It builds a dictionary of dictionaries, with a hashset of parameter types as the first key, and the return type as the second. If the hashsets uses as key change then the dictionary would become unusable – ideally this’d be an ImmutableHashSet
but I’ll have to take a look at creating an equality comparer for it. As it is I’m using CreateSetComparer
to generate an equality comparer – which just uses EqualityComparer.Default
under the hood, which might not be suitable for all Culture
s, for example.
From there I can build up a summary list of method signatures:
or identify those signatures shared by more than one method with x.Values.Where(dictionary => dictionary.Values.Count() > 1)
, among other things.