泛型接口在哪些地方非常有用?(我是初学者,所以简单的例子一定很有帮助)。
当您需要一个接口,但也需要抽象数据类型时,它非常有用。以下是一个简单的例子:
public interface IMyShape<T>
{
T X { get; }
T Y { get; }
}
public class IntSquare : IMyShape<int>
{
int X { get { return 100; } }
int Y { get { return 100; } }
}
public class IntTriangle : IMyShape<int>
{
int X { get { return 200; } }
int Y { get { return 200; } }
}
public class FloatSquare : IMyShape<float>
{
float X { get { return 100.05; } }
float Y { get { return 100.05; } }
}
当您想要将接口中的成员类型参数化时,通用接口非常有用。请考虑 IEnumerable
和 IEnumerable<T>
接口。前者迭代 Objects
,而后者迭代提供给 T
的类型参数的实例。
由于接口可以是泛型的,因此它允许您利用其灵活性,同时仍以与实际类型相同的方式利用泛型。