C# 列表<;动态>;不返回结构
我有一个列表类型的公共属性 正在使用列表中相同类型的对象填充此属性。我正在使用第三方报告工具根据此属性返回的数据设计报告 当列表对象包含数据时,我能够看到设计报表所需的属性/结构。然而,当没有数据时,我看不到创建报告布局的任何属性 任何帮助都将不胜感激C# 列表<;动态>;不返回结构,c#,list,dynamic,C#,List,Dynamic,我有一个列表类型的公共属性 正在使用列表中相同类型的对象填充此属性。我正在使用第三方报告工具根据此属性返回的数据设计报告 当列表对象包含数据时,我能够看到设计报表所需的属性/结构。然而,当没有数据时,我看不到创建报告布局的任何属性 任何帮助都将不胜感激 谢谢你的帮助。嗯,这显然是真的动态属性在运行时进行评估。如果没有数据可以显示,就无法知道什么类型的对象、结构或其他任何东西将实际放入其中。因此,反射此时无法确定有关类型的任何内容。(我不必说在动态类型上使用反射一开始就很危险,因为该类型可以在没有
谢谢你的帮助。嗯,这显然是真的<代码>动态属性在运行时进行评估。如果没有数据可以显示,就无法知道什么类型的对象、结构或其他任何东西将实际放入其中。因此,反射此时无法确定有关类型的任何内容。(我不必说在
动态类型上使用反射一开始就很危险,因为该类型可以在没有任何警告的情况下随时更改。)
解决方案是确保始终存在数据,以便反射可以确定所提供数据的类型,或者最好根本不使用动态
。如果您可以给出一个示例来显示您正在尝试实现的目标和您的期望,这会有所帮助。如果没有可用的数据,您希望在哪里可以看到结构?你是如何确定结构的?当我看到使用动态
时,10次中有9次,这是另一个需要解决的问题的糟糕解决方案。如果列表为空,则不存在任何信息,你需要将非动态的内容列成一个列表,或者在列表中至少添加一个元素,或者找出一种与查看列表本身完全不同的获取元数据的方法。当没有任何元素可以从中获取数据时,您希望您的头是什么样子的?什么是“默认”-元数据?投票结束,因为不清楚。