泛型接口
1. 语法
interface 接口名<T>{}
示例
interface IUnique<TId>
{
//定义一个属性(修饰符默认为public,不可以在接口中直接写)
TId ID { get;set; }
}
//定义一个学生类来实现这个接口
public class Student<TId>:IUnique<TId>
{
//实现接口属性或方法
public TId ID { get;set; }
//类自己的属性和方法
public string Name { get;set;}
}
注意
一个类如果实现了一个泛型接口,那么这个类本身就成了一个泛型类,否则会报错.
2.特化
如果一个类实现的是一个“特化”后的接口,那么这个实现类就不再是一个泛型类,将只是一个实现了“特化”泛型接口的一个普通类。
//定义一个“特化”的接口并实现
public class Student:IUnique<ulong>
{
//实现接口的属性或方法
public ulong ID {get;set;}
//类自己的方法或属性
public string Name {get;set;}
}