我想实现一个通用的C#类,它看起来大致如下:我可以指定一个C#类型参数只能是一个接口类型吗?
abstract class Foobar<T> : AbstractBase, T
{ ... }
失败的原因是C#只允许类型的基类之后是接口,所以未来我试试这个:
abstract class Foobar<T> : AbstractBase, T where T : interface
{ ... }
但后来我发现C#不允许这种形式的类型约束。只允许使用where T : struct
和where T : class
。
我该如何规定类型参数只能是接口类型?
你想达到什么目的?我无法真正想到需要这种约束的情况。 – jalf 2010-10-11 11:06:48