读书人

定义步骤中的参数可不可以限定是哪一

发布时间: 2011-12-26 23:09:58 作者: rapoo

定义方法中的参数,可不可以限定是哪一个类或者子类?
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
{
...
...
}

读书人网 >C#

热点推荐