【发布时间】:2013-10-08 05:32:10
【问题描述】:
我正面临以下代码的 CA1506 代码分析警告
private void ShowProductStatistics(object obj)
{
this.currentProduct = obj as Products;
Task.Factory.StartNew(() =>
{
var topOrderQuery = (from orderDetail in new XPQuery<OrderDetails>(new Session())
where
orderDetail.ProductID.ProductID == currentProduct.ProductID
orderby
(orderDetail.UnitPrice * orderDetail.Quantity) descending
select new TopOrder
{
OrderId = orderDetail.OrderID.OrderID,
TotalSales = orderDetail.UnitPrice * orderDetail.Quantity
}).ToList().Take(10);
DispatcherExt.CurrentDispatcher.BeginInvoke(new Action(() => { this.TopProduct = topOrderQuery; }));
var orderPerYearQuery = (from order in new XPQuery<OrderDetails>(new Session())
where order.ProductID.ProductID == currentProduct.ProductID
group order by new { order.OrderID.OrderDate.Year }
into g
select new OrderPYear
{
TotalOrder = g.Count(),
OrderYear = g.Key.Year
}).ToList();
DispatcherExt.CurrentDispatcher.BeginInvoke(new Action(() => { this.OrderPerYear = orderPerYearQuery; }));
var salesPerYearQuery = (from order in new XPQuery<OrderDetails>(new Session())
where order.ProductID.ProductID == currentProduct.ProductID
group order by new { order.OrderID.OrderDate.Year }
into g
select new SalesPYear
{
Sales = g.Sum(p => p.UnitPrice * p.Quantity),
Year = g.Key.Year
}).ToList();
DispatcherExt.CurrentDispatcher.BeginInvoke(new Action(() => { this.SalesPerYear = salesPerYearQuery; }));
});
}
我尝试按照 msdn 中给出的建议解决此警告,但未成功。 谁能帮我解决这个警告??
感谢和问候, 鲁德雷什
【问题讨论】:
-
有一堆你看不到的类,它们是由 Linq 查询理解生成的。代码分析器看到了它们,但对此不以为然,只需抑制警告即可。
-
汉斯您好,感谢您的建议,但我得到了解决方案。
标签: c# wpf .net-4.0 .net-4.5 code-analysis