2014-03-19 63 views
0

我需要一些信息添加到类类型DataRecord的是否有可能在c#中创建扩展字段?

我想在每一个实例从IDataRecord字典

继承嵌入是否可以使用扩展字段来实现这一目标? (类似扩展方法)

+1

你可以使用扩展方法来模拟它,但那会很糟糕。 –

+0

@presiuslitelsnoflek:你能解释一下更好吗? – Revious

+0

可能的重复[是否C#有扩展属性?](http://stackoverflow.com/questions/619033/does-c-sharp-have-extension-properties) –

回答

2

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

因为没有明确定义的位置来存储该字段的数据,所以添加它也没有什么意义。考虑到语言的设计,动态增加现有对象的大小并不是真的可行。所有对象实例的大小不变是很重要的。

2

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

替代品:它使用某种静态辞典的

  • 也许使用混入库(的http://www.re-motion.org例如再混合)
  • 使用一个共同的基类

    • 扩展方法?
    • 使用包装,例如ClassWithDictionary<MyClassA>哪种装饰原始物体
  • 相关问题