我想實現一個通用的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