创建属性别名?
Creating Attribute Aliases?
我正在尝试在我正在使用的框架和我的应用程序代码之间创建一个通用层,但由于框架需要用属性装饰我的 类 而被阻止。
有没有办法能够以某种方式将属性映射到其他属性?
示例:
Class A 用属性 B 修饰
在运行时,将属性 B 映射到属性 A
Class 在整个应用程序的生命周期中,A 被视为由属性 A 修饰。
您的尝试听起来像是糟糕的设计。属性不是运行时类型,它们实际上只是类型元数据。尽管某些属性允许您在运行时更改它们的参数,但这不会更改应用的属性。
您会在互联网上找到建议使用 Reflection.Emit
的解决方案。请注意,这是一个滑坡,将导致代码高度不可维护。
我个人的建议是创建你自己的 Class B
,同时用 Attribute A
和 Attribute B
装饰,然后使用内部逻辑来桥接你想要的东西想要桥接。
我正在尝试在我正在使用的框架和我的应用程序代码之间创建一个通用层,但由于框架需要用属性装饰我的 类 而被阻止。
有没有办法能够以某种方式将属性映射到其他属性?
示例: Class A 用属性 B 修饰 在运行时,将属性 B 映射到属性 A Class 在整个应用程序的生命周期中,A 被视为由属性 A 修饰。
您的尝试听起来像是糟糕的设计。属性不是运行时类型,它们实际上只是类型元数据。尽管某些属性允许您在运行时更改它们的参数,但这不会更改应用的属性。
您会在互联网上找到建议使用 Reflection.Emit
的解决方案。请注意,这是一个滑坡,将导致代码高度不可维护。
我个人的建议是创建你自己的 Class B
,同时用 Attribute A
和 Attribute B
装饰,然后使用内部逻辑来桥接你想要的东西想要桥接。