首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于泛型类继承的有关问题

2012-01-12 
关于泛型类继承的问题class b{}class b1:b{}class b2:b{}class cT{}class c1:cb1{}class c2:cb2{}我

关于泛型类继承的问题
class b{}
class b1:b{}
class b2:b{}
class c<T>{}
class c1:c<b1>{}
class c2:c<b2>{}
我想实现定义一个对象c<b> _aaa;能将c1,c2负值给_aaa,请帮忙看一看了,先谢了


[解决办法]

C# code
using System;namespace my{    class b      {         public string a;     }     class b1 : b { public b1(){a="b1";}}     class b2 : b { public b2() { a = "b2";} }     class c<T>{}    class c1<b1> : c<b>  { }     class c2<b2> : c<b>  { }     class ac     {         public c <b> c;//此处可以将c1,c2的对象负值结c     }     class myClass    {       static void Main()       {            ac a1=new ac();             c1<b1> c11 = new c1<b1>();             c2<b2> c21 = new c2<b2>();             a1.c = c11;       }    }}
[解决办法]
楼上的代码很有启发性,这样做确实可以发挥泛型的威力。

不过这段代码
C# code
class c1<b1> : c<b>  { } class c2<b2> : c<b>  { }
[解决办法]
b1,b2继承与b
class c3 <T3>:c <b> where T3:b{} 
T3肯定是b的子类,不明白为什么非用泛型,这里用个桥模式不是更简单

热点排行