internal static bool HasMatch(CallMatchResult r) { switch (r) { case CallMatchResult.PerfectMatch: return true; case CallMatchResult.ConvertMatch: return true; case CallMatchResult.AmbiguityMatch: return true; default: return false; } }
internal static int GetMatchPriority(CallMatchResult r) { switch (r) { case CallMatchResult.Unknown: return 10; case CallMatchResult.PerfectMatch: return 9; case CallMatchResult.ConvertMatch: return 8; case CallMatchResult.AmbiguityMatch: return 7; case CallMatchResult.UnmatchArgumentType: return 4; case CallMatchResult.UnmatchArgumentCount: return 3; case CallMatchResult.UnmatchGenericType: return 2; case CallMatchResult.UnmatchGenericCount: return 1; case CallMatchResult.NotCallable: return 0; default: throw new ArgumentException("r"); } }