У меня есть код, который выполняет операцию типа слияния, и я использую dynamic/ExpandoObject для сборки свойств. Я делаю это вместо создания анонимного класса, потому что различные методы по пути добавляют свойства до слияния почты. Код работает нормально.ExpandoObject вызывает нарушение правил CA1502: Избегайте чрезмерной сложности
Эта проблема представляет собой анализ кода Visual Studio, который оценивает каждую операцию набора свойств в ExpandoObject как 1 точку циклической сложности. Таким образом, простой линейный метод, устанавливающий кучу свойств без логики разветвления, получает оценки> 25, что является значением, которое нарушает это правило.
Это проблема с моим кодом или проблема с тем, как работает анализ кода?
Моего код выглядит следующим образом:
dynamic replacementFields = new ExpandoObject();
replacementFields.time = DateTime.Now();
replacementFields.url = Request.Url;
replacementFields.server = Environment.MachineName;
replacementFields.firstName = "Jeff";
... (a bunch more)
replacementFields.phone = "555-1212";