我有執行郵件合併類型操作的代碼,並且我使用動態/ 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";