在c#中可以创建扩展字段吗?

本文关键字:扩展 字段 创建 | 更新日期: 2023-09-27 17:51:01

我需要添加一些信息到DataRecord类型的类

我想嵌入在每个实例从IDataRecord继承一个字典

是否可以使用扩展字段来实现这一点?(类似于扩展方法)

在c#中可以创建扩展字段吗?

不,c#中没有这样的特性。

添加它也没有意义,因为没有一个定义良好的位置来存储该字段的数据。考虑到语言的设计,动态地增加现有对象的大小实际上是不可行的。重要的是,所有对象实例的大小都是恒定的。

不,这不可能。扩展方法只不过是静态方法,作为this引用传递给对象。

选择:

  • 使用某种静态字典的扩展方法
  • 也许可以使用mixin库(例如重新混合http://www.re-motion.org)
  • 使用公共基类?
  • 使用包装器,例如ClassWithDictionary<MyClassA>,它可以装饰原始对象