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

时间:2014-03-19 15:52:32

标签: c# .net

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

我想在每个从IDataRecord继承的实例中嵌入一个Dictionary

是否可以使用扩展字段实现此目的? (像扩展方法一样)

2 个答案:

答案 0 :(得分:2)

不,C#中没有这样的功能。

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

答案 1 :(得分:2)

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

备选方案:

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