我有一个 C# 对象,但我不知道该对象的类型。(即对象o)我所知道的是这个对象有一个名为“ID”的int类型的成员。
我想了解该房产的价值,但我的反思能力不够......
我可以获得该对象的类型和成员:
Type type = obj.GetType();
System.Reflection.MemberInfo[] member = type.GetMember("ID");
Run Code Online (Sandbox Code Playgroud)
...但不知道下一步该做什么:-)
提前感谢 Mariusz 的帮助
您可以使用:
Type type = obj.GetType();
PropertyInfo property = type.GetProperty("ID");
int id = (int) property.GetValue(obj, null);
Run Code Online (Sandbox Code Playgroud)
PropertyInfo因为你知道它是一个属性,这让事情变得更容易GetValue以获取值,obj作为属性的目标和null索引器参数传入(因为它是属性,而不是索引)int您已经知道的位置int如果您使用 C# 4 和 .NET 4, Jared 的使用建议dynamic也很好,尽管为了避免所有括号,我可能会将其写为:
dynamic d = obj;
int id = d.ID;
Run Code Online (Sandbox Code Playgroud)
(除非您出于某种原因需要在单个表达式中使用它)。
| 归档时间: |
|
| 查看次数: |
1096 次 |
| 最近记录: |