メールマージタイプの操作を実行するコードがあり、dynamic/ExpandoObjectを使用してプロパティをアセンブルしています。メールのマージが発生する前に、途中でさまざまなメソッドがプロパティを追加するため、匿名クラスを構築する代わりにこれを行っています。コードは正常に実行されます。
問題は、Visual Studio Code Analysisが、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";