众所周知,C#3.5中有新的概念,即匿名类型。如何创建实现一个接口的匿名类型。实际上,在为我的组件编写UT并改善线路覆盖范围时,我需要这个。
请帮助我。
答案 0 :(得分:4)
C#不支持创建实现接口的匿名类型。来自MSDN:
匿名类型是类类型 由一个或多个公众组成 只读属性。没有其他种类 类成员如方法或 事件是允许的。匿名类型 无法转换为任何界面或 除了对象之外的类型。
您应该定义一个新的具体类型,而不是使用匿名类型,以便您可以实现所需的接口。
答案 1 :(得分:2)
听起来你正在寻找像MOQ这样的模拟框架:http://code.google.com/p/moq/
它不利用匿名类型 - 这些是非常不同的java版本
答案 2 :(得分:1)
无法使用匿名类型实现接口。由于匿名类型仅为数据,因此您希望为我实现仅数据接口。我认为这是一个糟糕的设计。您应该创建一个DTO(Data-Transfer-Object,一个只包含数据的类)。
但是,如果您确实需要匿名类型来实现接口,请使用duck-typing