public class aa
{ private IList<aa> bb;
public IList<aa> BB
{
get {return bb;}
set {bb = BB;}
}
}就是在类的定义中用到类作为参数,这叫什么?是递归吗?
谢谢!
{ private IList<aa> bb;
public IList<aa> BB
{
get {return bb;}
set {bb = BB;}
}
}就是在类的定义中用到类作为参数,这叫什么?是递归吗?
谢谢!
泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。C#泛型演示class Stack<T>
{
private T[] store;
private int size
public Stack()
{
store = new T[10];
size = 0;
}public void Push(T x)
{
store[size++] = x;
}public void T Pop()
{
return store[--size];
}
}Stack<int> x = new Stack<int>();
x.Push(17);
{
get {return bb;}
set {bb = BB;}
}
定义了一个BB属性,他返回了一个IList<aa>泛型属性,也就是bb
实际应用的时候,当你调用aa.BB=value的时候,那么bb的值就是value,当然,value也应该是aa类型的
这个时候在概念运用上谈不上什么堆栈概念。系统运行时首先动态产生了 IList<aa> 代码,就好象你手动写了一个新类型的代码(假设起名叫做 IList_with_aa )并且编译到程序里。
public 人类 父亲;
public 人类 母亲;
}人类里面包含人类,
这样的例子可以理解吗?
放到泛型上一样的。
{ private aa bb;
public aa BB
{
get {return bb;}
set {bb = BB;}
}
}