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