2015-11-15 53 views
-1

我有一个AnonymousType对象与他们的值联系两个领域。我怎样才能访问这些字段的价值?访问<AnonymousType>字段

例:
SourceTypeObject { Source_Type_Id = 1, Source_Type_Name = "bibliography" }

我需要做的是这样:SourceTypeObject.Source_Type_Id

这可能吗?

编辑:

这里就是我得到的,如果我试图直接访问属性: enter image description here

+2

假设'SourceTypeObject'是对象本身,我不明白为什么不。 – BoltClock

+0

你有没有试过访问它的字段? –

+0

是的,我更新了我的问题 – user3340627

回答

3

是的,这是匿名类型的确切目的。唯一可能阻止你这样做的方式是,如果你通过类型为“object”的参数传递匿名类型。这会隐藏有关匿名类型的信息,然后它看起来就像是任何旧对象。

如果是这种情况,唯一的办法是使用反射,这是缓慢和尴尬的。匿名类型是一种非常“本地”的现象,如果你发现自己想在程序中的其他地方使用它,那么值得花时间将它推广到一个真正的类型。

编辑:为了响应您发布的图像,假设数组是在视图之外的本地声明的,请尝试用var SourceTypeObject替换object SourceTypeObject。这允许它推断匿名类型,而不是告诉它是一个object