我最近一直在讨论反射的主题,主要是为了实例化一个新类并在字段上设置属性..通过路径......例如,我可能有一个名为 Games 的类,具有公共属性 -
Game myGame = new Game()
myGame.GamingProperties.HowToPlay = "bla bla bla";
myGame.StateProperties.CreationTime = DateTime.Today;
因此,例如,我必须在属性上设置值(使用反射魔法),路径为:“GamingProperties.HowToPlay”
到目前为止,我一直在使用 Guy Mahieu 的“ PropertyReflector ”类——这正是我所需要的,但在反射/反序列化 100,000 个对象时速度很慢。
稍后我发现使用“表达式树”(以及像“ FastReflection ”这样的项目)可以更快地设置属性值是一个很好的例子。但是我现在被 FastReflection 卡住了,因为我不能在嵌套类型上正确设置值...
无论如何——问题是——是否System.Windows.PropertyPath
能以某种方式帮助我解决这一切?它甚至有关系吗?也许我可以根据需要使用它,或者使用.Binding
方法(与 密切相关System.Windows.PropertyPath
)?
我希望我的问题很清楚,不要太混乱,我将不胜感激任何提示,建议......