我试图在我使用的框架和我的应用程序代码之间创建一个通用层,并且已被框架阻止,需要用属性来装饰我的类。
有没有办法能够以某种方式将属性映射到其他属性?
实施例: A类用属性B装饰 在运行时,将属性B映射到属性A. 在整个应用程序的生命中,A类被视为由属性A修饰。
答案 0 :(得分:1)
你想要做的事听起来像糟糕的设计。属性不是运行时类型,它们实际上只是类型元数据。即使某些属性允许您在运行时更改其参数,也不会更改应用的属性。
您可以在互联网上找到建议使用Reflection.Emit
的解决方案。请注意,这是一个滑坡,将导致高度无法维护的代码。
我的个人建议是创建自己的Class B
,其中包含Attribute A
和Attribute B
,然后使用内部逻辑来桥接您想要的任何内容桥梁。