Data binding System.Windows.PropertyPath-这个类可以帮助我反映深层嵌套属性(类型)吗?

Data binding System.Windows.PropertyPath-这个类可以帮助我反映深层嵌套属性(类型)吗?,data-binding,reflection,c#-4.0,system.reflection,propertyinfo,Data Binding,Reflection,C# 4.0,System.reflection,Propertyinfo,我最近一直在讨论反射的话题,主要目的是实例化一个新类并在字段上设置属性。。通过路径。。。 例如,我可能有一个名为Games的类,具有公共属性- Game myGame = new Game() myGame.GamingProperties.HowToPlay = "bla bla bla"; myGame.StateProperties.CreationTime = DateTime.Today; 例如,我必须在路径为“GamingProperties.HowToPlay”的属性上设置值(

我最近一直在讨论反射的话题,主要目的是实例化一个新类并在字段上设置属性。。通过路径。。。 例如,我可能有一个名为Games的类,具有公共属性-

Game myGame = new Game()

myGame.GamingProperties.HowToPlay = "bla bla bla";
myGame.StateProperties.CreationTime = DateTime.Today;
例如,我必须在路径为“GamingProperties.HowToPlay”的属性上设置值(使用反射魔法)

到目前为止,我一直在使用Guy Mahieu的“”类—这正是我所需要的,但在对100000个对象进行反射/反序列化时,速度很慢

后来我发现,使用“表达式树”可以更快地设置属性值(像“”这样的项目就是一个很好的例子)。。但是我现在被FastReflection卡住了,因为我不能正确地设置嵌套类型的值

无论如何,问题是,
System.Windows.PropertyPath
是否能帮我解决这一切?这有关系吗?也许我可以根据需要使用它,或者使用
.Binding
方法(与
System.Windows.PropertyPath
密切相关)


我希望我的问题清楚明了,不要太混乱,如果有任何提示和建议,我将不胜感激。

简短的回答是否定的。WPF绑定系统使用PropertyPath将DependencyProperties与其他属性(dependency或regular)联系起来。绑定到依赖项属性时,绑定系统可以使用属性路径使用WPF元数据解析绑定的属性。绑定到CLR属性时,它必须使用.NET反射来解析该属性

在这两种情况下,它通常不用于设置CLR属性,但它可以使用双向绑定


它不会为这么多对象提供速度提升,我怀疑它是否能解决您的问题。

为什么不能使用FastReflection在嵌套类型上设置值?如果您直接使用
Expression
s,则应该可以。是。我想我可以——只要想办法把它做好……:)那你为什么不问个问题呢?