Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private bool ParamterOrderDoesntMatch(IMethodSymbol method1, IMethodSymbol method2)
- {
- HashSet<IParameterSymbol> parameterList1 = new HashSet<IParameterSymbol>(method1.Parameters);
- HashSet<IParameterSymbol> parameterList2 = new HashSet<IParameterSymbol>(method2.Parameters);
- HashSet<IParameterSymbol> intersection = new HashSet<IParameterSymbol>(parameterList1.Intersect(parameterList2));
- SortedDictionary<IParameterSymbol, int> orderMap = new SortedDictionary<IParameterSymbol, int>();
- if (intersection.Count() < 0) return false;
- int order = 0;
- foreach (var param in parameterList1)
- {
- if (intersection.Contains(param))
- orderMap.Add(param, order++);
- }
- order = 0;
- foreach (var param in parameterList2)
- {
- if (intersection.Contains(param))
- {
- if (orderMap[param] != order++)
- return true;
- }
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement