2009-12-29 101 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