2009-12-29 99 views
-1

因爲你們都知道C#3.5中有新概念,即匿名類型。如何創建一個實現一個接口的匿名類型。實際上,在爲我的組件編寫UT的同時也爲了改善線路覆蓋率,我需要這個。如何在C#中使用接口創建匿名類

請幫助我。

+1

Anonymouse類型不能實現接口。你試圖達到什麼目標?什麼是基本要求? – 2009-12-29 09:09:26

回答

4

C#不支持創建實現接口的匿名類型。從MSDN

匿名類型是類類型的 由一個或多個公共 只讀屬性。沒有其他種類的成員,如方法 或 事件是允許的。除了對象之外,匿名類型 不能轉換爲任何接口或 類型。

您應該定義一個新的具體類型而不是使用匿名類型,以便可以實現所需的接口。

1

不可能有一個匿名類型實現一個接口。由於匿名類型只是數據,這看起來像你想爲我實現一個純數據接口。我確實認爲這是一個糟糕的設計。你應該創建一個DTO(數據傳輸對象,一個只有數據的類)。

但是,如果你真的需要annonymous類型實現一個接口,使用duck-typing

2

這聽起來像你正在尋找像MOQ嘲弄的框架:http://code.google.com/p/moq/

它沒有利用匿名類型 - 這些是非常不同的Java版本

+0

這是我的評論,聽起來好像OP實際上對模擬框架感興趣。 – 2009-12-29 13:23:33