这种动态使用是一种不好的做法吗?

时间:2016-04-07 14:02:06

标签: c# linq object dynamic

我想知道这段代码是不是很糟糕。

..
var StoresInData = (from s in MainData
                    orderby s.LocationCode
                    select new
                      {
                          s.LocationCode,
                          s.LocationShortName,
                          s.LocationName
                      }).Distinct().ToList();
..
foreach (var store in StoresInData)
    {
       CreateReportForStore(store);
       ..
       ..
    }

并在CreateReportForStore函数中:

private void CreateReportForStore(dynamic store)
        {
            var a = store.LocationCode;
            Console.WriteLine(a);
            ..
            ..
        }

在这种情况下,使用动态是一种不好的做法来传递匿名对象吗?

由于

2 个答案:

答案 0 :(得分:3)

如果你需要传递它,使用类型化的类是个好主意。使代码更具可读性和可维护性。它也使它不容易出错。

答案 1 :(得分:0)

通常,我使用dynamic的唯一内容是从API返回对象属性的子集。如果它在后端传递,那么我会为它创建一个对象。