我有执行邮件合并类型操作的代码,并且我使用动态/ 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";