日期:2014-05-18 浏览次数:20959 次
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;
}
}
}
------解决方案--------------------
楼上的代码很有启发性,这样做确实可以发挥泛型的威力。
不过这段代码
class c1<b1> : c<b> { }
class c2<b2> : c<b> { }
------解决方案--------------------
b1,b2继承与b
class c3 <T3>:c <b> where T3:b{}
T3肯定是b的子类,不明白为什么非用泛型,这里用个桥模式不是更简单