예제 #1
0
 private IEnumerable<KeyValuePair<AppPageSampleKey, object>> GetAllActionSamples(string controllerName, string actionName, IEnumerable<string> parameterNames, SampleDirection sampleDirection)
 {
     HashSet<string> parameterNamesSet = new HashSet<string>(parameterNames, StringComparer.OrdinalIgnoreCase);
     foreach (var sample in ActionSamples)
     {
         AppPageSampleKey sampleKey = sample.Key;
         if (String.Equals(controllerName, sampleKey.ControllerName, StringComparison.OrdinalIgnoreCase) &&
             String.Equals(actionName, sampleKey.ActionName, StringComparison.OrdinalIgnoreCase) &&
             (sampleKey.ParameterNames.SetEquals(new[] { "*" }) || parameterNamesSet.SetEquals(sampleKey.ParameterNames)) &&
             sampleDirection == sampleKey.SampleDirection)
         {
             yield return sample;
         }
     }
 }
예제 #2
0
        public override bool Equals(object obj)
        {
            AppPageSampleKey otherKey = obj as AppPageSampleKey;

            if (otherKey == null)
            {
                return(false);
            }

            return(String.Equals(ControllerName, otherKey.ControllerName, StringComparison.OrdinalIgnoreCase) &&
                   String.Equals(ActionName, otherKey.ActionName, StringComparison.OrdinalIgnoreCase) &&
                   (MediaType == otherKey.MediaType || (MediaType != null && MediaType.Equals(otherKey.MediaType))) &&
                   ParameterType == otherKey.ParameterType &&
                   SampleDirection == otherKey.SampleDirection &&
                   ParameterNames.SetEquals(otherKey.ParameterNames));
        }