我正在开发一个与 AutoMapper 紧密集成的项目(完全开源)。我要做的是:我想知道,在运行时,哪些是 AM 注册的映射,不仅在类之间,而且我需要知道当时是否映射了特定类中的特定属性,如果不是我需要映射它,如果是这样,我会忽略,但以一种或另一种方式,我需要将该属性的名称或完整路径保存为字符串。
例如:
Foo foo = new Foo();
1 - foo.bar(必须为“Foo”类保留属性“bar”) 2 - foo.Bar.Foo.Bar.Name(需要为“Foo”类存储完整路径“Bar.Foo.Bar.Name” ")
事实上,我可以做到这一点,但有一些特性可以从我的实现中逃脱。
到目前为止,包含我所做的方法的类位于 BitBucket 的存储库中: https ://bitbucket.org/Lunadie/telerikmvcgridcustombindinghelper/src/5e3b8301719d/TelerikMvcGridCustomBindingHelper/Mapper/GridModelMapperBase.cs
特别是“CanPassToAutoMapper”和“GetPropertyMap”这两个方法看起来有点脆弱,容易出错,你怎么看?