V3139. Two or more case-branches perform the same actions.
V3139 Two or more case-branches perform the same actions. WMIGenerator.cs 5220
private static string
ConvertToNumericValueAndAddToArray(....)
{
string retFunctionName = string.Empty;
enumType = string.Empty;
switch(cimType)
{
case CimType.UInt8:
case CimType.SInt8:
case CimType.SInt16:
case CimType.UInt16:
case CimType.SInt32:
arrayToAdd.Add(System.Convert.ToInt32(
numericValue,
(IFormatProvider)CultureInfo.InvariantCulture
.GetFormat(typeof(int))));
retFunctionName = "ToInt32";
enumType = "System.Int32";
break;
case CimType.UInt32:
arrayToAdd.Add(System.Convert.ToInt32(
numericValue,
(IFormatProvider)CultureInfo.InvariantCulture
.GetFormat(typeof(int))));
retFunctionName = "ToInt32";
enumType = "System.Int32";
break;
}
return retFunctionName;
}
V3139 Two or more case-branches perform the same actions. ColorTranslator.cs 302
switch (c.ToKnownColor())
{
....
case KnownColor.Control:
colorString = "buttonface";
break;
case KnownColor.ControlLight:
colorString = "buttonface";
break;
....
}
V3139 Two or more case-branches perform the same actions. CodeMetricsAnalyzer.cs 251
static bool isApplicableByDefault(string ruleId, SymbolKind symbolKind)
{
switch (ruleId)
{
....
case CA1505RuleId:
switch (symbolKind)
{
case SymbolKind.NamedType:
case SymbolKind.Method:
case SymbolKind.Field:
case SymbolKind.Property:
case SymbolKind.Event:
return true;
default:
return false;
}
case CA1506RuleId:
switch (symbolKind)
{
case SymbolKind.NamedType:
case SymbolKind.Method:
case SymbolKind.Field:
case SymbolKind.Property:
case SymbolKind.Event:
return true;
default:
return false;
}
default:
throw new NotImplementedException();
}
}
V3139 Two or more case-branches perform the same actions. SerialDocumentExecuter.cs 23
public class SerialDocumentExecuter : DocumentExecuter
{
private static IExecutionStrategy ParallelExecutionStrategy
= new ParallelExecutionStrategy();
private static IExecutionStrategy SerialExecutionStrategy
= new SerialExecutionStrategy();
private static IExecutionStrategy SubscriptionExecutionStrategy
= new SubscriptionExecutionStrategy();
protected override IExecutionStrategy SelectExecutionStrategy(....)
{
switch (context.Operation.OperationType)
{
case OperationType.Query:
return SerialExecutionStrategy;
case OperationType.Mutation:
return SerialExecutionStrategy;
case OperationType.Subscription:
return SubscriptionExecutionStrategy;
default:
throw ....;
}
}
}
V3139 Two or more case-branches perform the same actions. OpenXmlPartReader.cs 560
private void InnerSkip()
{
Debug.Assert(_xmlReader != null);
switch (_elementState)
{
case ElementState.Null:
ThrowIfNull();
break;
case ElementState.EOF:
return;
case ElementState.Start:
_xmlReader.Skip();
_elementStack.Pop();
GetElementInformation();
return;
case ElementState.End:
case ElementState.MiscNode:
// cursor is end element, pop stack
_xmlReader.Skip();
_elementStack.Pop();
GetElementInformation();
return;
....
}
....
}
Similar errors can be found in some other places:
V3139 Two or more case-branches perform the same actions. SecurityCacheTests.cs 510
public string[] GetPropertiesBy(SecuritySeedData type)
{
switch (type)
{
case SecuritySeedData.None:
return new string[0];
case SecuritySeedData.OpenInterest:
return new[] { "OpenInterest" }; // <=
case SecuritySeedData.OpenInterestTick:
return new[] { "OpenInterest" }; // <=
case SecuritySeedData.TradeTick:
return new[] {"Price", "Volume"};
....
case SecuritySeedData.Fundamentals:
return new string[0];
default:
throw new ArgumentOutOfRangeException(nameof(type), type, null);
}
}