定义方法中的参数,可不可以限定是哪一个类或者子类?
A是父类,B继承A,C继承B
public void GetXXX(A a){
...
...
}
我想把这个参数限定死,只是是A或者是A的子类。
或者我的写法根本就不对,应该用 Type作为参数类型。
请大侠给我指点一下!谢谢!
------解决方案--------------------也没问题,给你个实际例子:
/// <summary>
/// 得到type类型图元总个数
/// </summary>
/// <param name= "type "> </param>
/// <returns> </returns>
public int GetBlockCount(Type type)
{
int count = 0;
ArrayList arr = new ArrayList();
foreach (Shape shape in ShapeSet)
{
if (shape.GetType() == type)
count++;
}
return count;
}
------解决方案--------------------nayc(Still water runs deeply)
搞过一些...
------解决方案--------------------public void GetXXX(T a) where T : A
{
...
...
}