如何在C#中创建带接口的匿名类

时间:2009-12-29 09:06:31

标签: c#

众所周知,C#3.5中有新的概念,即匿名类型。如何创建实现一个接口的匿名类型。实际上,在为我的组件编写UT并改善线路覆盖范围时,我需要这个。

请帮助我。

3 个答案:

答案 0 :(得分:4)

C#不支持创建实现接口的匿名类型。来自MSDN

  

匿名类型是类类型   由一个或多个公众组成   只读属性。没有其他种类   类成员如方法或   事件是允许的。匿名类型   无法转换为任何界面或   除了对象之外的类型。

您应该定义一个新的具体类型,而不是使用匿名类型,以便您可以实现所需的接口。

答案 1 :(得分:2)

听起来你正在寻找像MOQ这样的模拟框架:http://code.google.com/p/moq/

它不利用匿名类型 - 这些是非常不同的java版本

答案 2 :(得分:1)

无法使用匿名类型实现接口。由于匿名类型仅为数据,因此您希望为我实现仅数据接口。我认为这是一个糟糕的设计。您应该创建一个DTO(Data-Transfer-Object,一个只包含数据的类)。

但是,如果您确实需要匿名类型来实现接口,请使用duck-typing