我玩弄微軟實體框架4,在某些時候,我想使用代理或FormatterServices創建ObjectStateEntry的假實例,並面臨着下面的問題:如何用內部成員使用遠程處理/代理創建抽象類的實例?
- 類有內部抽象成員,因此創建一個代理結束了類型有沒有實現的成員。因此,在
CreateInstance
期間拋出異常。 - 不能使用
FormatterServices.GetUinitializedData
,因爲它是一個抽象類。
想知道,如果還有其他選擇嗎?
我玩弄微軟實體框架4,在某些時候,我想使用代理或FormatterServices創建ObjectStateEntry的假實例,並面臨着下面的問題:如何用內部成員使用遠程處理/代理創建抽象類的實例?
CreateInstance
期間拋出異常。FormatterServices.GetUinitializedData
,因爲它是一個抽象類。想知道,如果還有其他選擇嗎?
,因爲我看到你的問題標題How create an instance of an abstract class
,答案就在這裏我儘快寫下了我的答案No, you can't create an instance of an abstract class.
你有沒有嘗試過任何模擬框架如Rhino Mocks
謝謝,Vinay,我曾嘗試Rhino Mocks,我只是好奇地知道,以上案例對於所有工具Moq,Rhino,JustMock都是真實的。我搜索是否有任何出路。 – Mehfuz 2010-08-19 11:30:47
只要用谷歌搜索扔這個鏈接 - http://www.dimecasts.net/Casts/CastDetails/20。你需要看看它是否會拋出一些有用的東西。 通常,它可以測試接口而不是類,儘管我可以看到它不適用於此。 – VinayC 2010-08-19 11:45:30
是的,不是。我正在尋找具體問題。 – Mehfuz 2010-08-19 13:11:04
您可以通過創建創建抽象類的實例一個代理(就像任何代理工具一樣),但是如果你在抽象類中有內部成員,那麼如果你沒有選擇在目標庫中添加'InternalVisibleTo'屬性(你需要源代碼訪問來做到這一點) 。我在尋找,如果你能在這方面通過任何其他方式創建抽象類的實例。另外,丹尼謝謝你的回答。 – Mehfuz 2010-08-19 11:37:07