【发布时间】:2011-05-16 14:02:34
【问题描述】:
我正在使用反射从未知对象中获取属性值。我总是在运行时知道未知对象的属性。所以,我只想从该对象中获取这些属性的值。反射对我有用,但我有性能问题。
有没有其他方法可以有效地实现这一目标?我们可以使用序列化吗?有什么开箱即用的方法吗?
【问题讨论】:
-
我希望您在使用
dynamic关键字 (C# 4.0 / .NET 4.0) 时可以显着提高性能。 -
您的问题很奇怪,因为您提到了一个未知对象,其属性始终是已知的。有没有办法解决这种不匹配?如果没有,您确定您确实有性能问题,还是只是在实际分析之前担心?
-
dynamic只有在编译时知道属性/方法的名称时才有效! -
另外,
dynamic不会自动更快,它可能(可能)比使用反射慢。使用动态会增加加载时间和内存消耗。测试和配置文件! -
@dlev - 实际上,我有一个 xml 文件,其中包含每个对象的属性,因此我可以轻松获取这些属性。不,我没有分析它。
标签: c# serialization reflection deserialization