Я использую CodeDom для генерации кода, который будет скомпилирован позже, и я заметил, что некоторые конструкции создают дополнительные наборы скобок.Хотя я знаю, что они ни на что не влияют, они выглядят странно.
Пример кода, который делает это так:
new CodeConditionStatement(
new CodeBinaryOperatorExpression(
new CodePropertyReferenceExpression(new CodePropertySetValueReferenceExpression(),
"Length"),
CodeBinaryOperatorType.GreaterThan,
new CodePrimitiveExpression(strLength)
),
new CodeThrowExceptionStatement(
new CodeObjectCreateExpression(typeof(ArgumentException),
new CodePrimitiveExpression("The string is too long"),
new CodePrimitiveExpression("value"))
)
)
Это генерирует следующий фрагмент:
if ((value.Length > 50)) {
throw new System.ArgumentException("The string is too long", "value");
}
Опять же, я знаю, что лишние скобки ни на что не влияют, но если я делаю что-то не так, я хотел бы знать:)