2014-03-19 64 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>哪種裝飾原始物體
  • 相關問題