我正在构建一个集合库,我希望所有通用集合接口都需要类类型,并且所有实现它们的集合都是任何类型。因此,在值类型上,集合将有两种方法,一种用于值类型,另一种用于装箱。这可能吗?
像这样:
interface ICollection<ItemType> where ItemType : class
{
void DoSomething(ItemType item);
}
class Collection<ItemType> : ICollection<ItemType>
{
void DoSomething(Object item);
void DoSomething(ItemType item);
}
除非这样,最好的解决方法是什么?接口是非通用的?