我有一个由 Linq 查询填充的数据网格。当数据网格中的焦点行发生更改时,我需要设置一个变量,该变量等于该对象中的属性之一。
我试过...
var selectedObject = view.GetRow(rowHandle);
_selectedId = selectedObject.Id;
...但编译器根本不关心这一点(“嵌入式语句不能是声明或标记语句”)。
看来该物业应该很容易进入。在运行时检查对象显示了我期望的所有属性,我只是不知道如何访问它们。
如何访问匿名对象的属性?
编辑澄清:
我碰巧正在使用 DevExpress XtraGrid 控件。我用一个由几个不同对象组成的 Linq 查询加载了这个控件,因此使数据不真正符合我已经拥有的任何一个类(即,我不能将它转换为任何东西)。
我正在使用.NET 3.5。
当我查看 view.GetRow(rowHandle) 方法的结果时,我得到一个匿名类型,如下所示:
{ ClientId = 7, ClientName = "ACME Inc.", Jobs = 5 }
我的目标是从这种匿名类型中获取 ClientId,以便我可以做其他事情(例如加载包含该客户记录的表单)。
我在早期答案中尝试了一些建议,但无法达到可以获取此 ClientId 的程度。