我想使用外观或代理库的已实现属性。 例如属性映射属性。
我想控制要在项目中使用哪些库属性。 某种DI或模块控件。 有没有一种简单的方法可以在不使用反射的情况下实现它?
将这两种类型的属性转换为一种的东西:
[MapsFromAndToProperty(typeof(fooClass), nameof(fooClass.PropertyName))]
和
[AdaptMember(name)]
进入
[MyAttributeToControlWhichOneToUse(typeof(fooClass), nameof(fooClass.PropertyName))]
感谢您的关注。 任何帮助将不胜感激。
答案 0 :(得分:1)
如评论中所述,在一般情况下无法更改属性。这仅仅是因为属性实际上是程序集元数据的一部分,并且执行所需的操作意味着更改该程序集元数据。
尽管有两种方法可能会起作用,
MyAttributeToControlWhichOneToUse
属性展开为所需的属性。此解决方案与属性的读取方式无关,但是需要更改构建基础结构。