在c#中可以创建扩展字段吗?
本文关键字:扩展 字段 创建 | 更新日期: 2023-09-27 17:51:01
我需要添加一些信息到DataRecord类型的类
我想嵌入在每个实例从IDataRecord继承一个字典
是否可以使用扩展字段来实现这一点?(类似于扩展方法)
不,c#中没有这样的特性。
添加它也没有意义,因为没有一个定义良好的位置来存储该字段的数据。考虑到语言的设计,动态地增加现有对象的大小实际上是不可行的。重要的是,所有对象实例的大小都是恒定的。
不,这不可能。扩展方法只不过是静态方法,作为this
引用传递给对象。
选择:
- 使用某种静态字典的扩展方法
- 也许可以使用mixin库(例如重新混合http://www.re-motion.org)
- 使用公共基类?
- 使用包装器,例如
ClassWithDictionary<MyClassA>
,它可以装饰原始对象