Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. private bool ParamterOrderDoesntMatch(IMethodSymbol method1, IMethodSymbol method2)
  2. {
  3. HashSet<IParameterSymbol> parameterList1 = new HashSet<IParameterSymbol>(method1.Parameters);
  4. HashSet<IParameterSymbol> parameterList2 = new HashSet<IParameterSymbol>(method2.Parameters);
  5. HashSet<IParameterSymbol> intersection = new HashSet<IParameterSymbol>(parameterList1.Intersect(parameterList2));
  6. SortedDictionary<IParameterSymbol, int> orderMap = new SortedDictionary<IParameterSymbol, int>();
  7. if (intersection.Count() < 0) return false;
  8. int order = 0;
  9. foreach (var param in parameterList1)
  10. {
  11. if (intersection.Contains(param))
  12. orderMap.Add(param, order++);
  13. }
  14. order = 0;
  15. foreach (var param in parameterList2)
  16. {
  17. if (intersection.Contains(param))
  18. {
  19. if (orderMap[param] != order++)
  20. return true;
  21. }
  22. }
  23. return false;
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement