(点击上方蓝字,可快速 publicvoidMyMthodX(Xx,Tt)whrX:IComparablX
}
注:实例()在类上已经有相应T的约束,在方法中就不能在给T加新的约束了。
.泛型虚方法泛型虚方法在重写的时候,一定要重新定义泛型,并且也不能重复基类的虚方法约束。
如下:
publicclassBasClass
{
publicvirtualvoidMthodT(Tt)
{
//
}
}
publicclassClass:BasClass
{
publicovrridvoidMthodX(Xx)
{
//
}
}
泛型接口.泛型接口实intrfacIPrsonT
{
voidadd(Tt);
}
classPrsonManagr:IPrsonPrson
{
#rgionIPrsonPrson成员
publicvoidadd(Prsont)
{
//
}
//一个接口可定义多个类型参数
intrfacIDictionaryK,V
{
//
}
.多重接口可作为单个类型上的约束classStackTwhrT:Systm.IComparablT,IEnumrablT
.泛型接口继承也遵循类之间的规则intrfacIMonthT{}intrfacIJanuary:IMonthint{}//NorrorintrfacIFbruaryT:IMonthint{}//NorrorintrfacIMarchT:IMonthT{}//Norror//intrfacIAprilT:IMonthT,U{}//Error
泛型数组下限为零的一维数组自动实现IListT。这使您可以创建能够使用相同代码循环访问数组和其他集合类型的泛型方法。此技术主要对读取集合中的数据很有用。IListT接口不能用于在数组中添加或移除元素。如果尝试对此上下文中的数组调用IListT方法(例如RmovAt),则将引发异常。
泛型委托ps:委托是什么?
使用委托可以将方法作为参数进行传递。委托是一种特殊类型的对象,其特殊之处在于委托中包含的只是一个活多个方法的地址,而不是数据。定义方式如:publicdlgatvoidMthodDlgat();稍后的文章会有详细介绍。