您的位置:首页 > 其它

为什么不调用重载方法呢?

2011-04-25 21:22 106 查看
我已经对类tt的Equals方法进行了重载,但是调试运行后发现它硬是不进重载方法,只调用了Object的Equals方法,为什么呢?

public class RequestQueue<T>
{
private LinkedList<T> items = new LinkedList<T>();
private int _count;
public int Count
{
get
{
return this._count;
}
}
public RequestQueue(int i)
{
this._count = i;
}

public void EnQueue(T item)
{
if (this.items.Count == this._count)
{
items.RemoveFirst();
items.AddLast(item);
}
else
{
items.AddLast(item);
}
}

public int Test(T item)
{
return items.Count(s => s.Equals(item));
}
}
public class tt
{
public string Im { get; set; }
public string UA { get; set; }
public override bool Equals(object obj)
{
tt a = obj as tt;
if (a.Im == this.Im && a.UA == this.UA)
return true;
return false;
//return base.Equals(obj);
}
public override int GetHashCode()
{
return this.ToString().GetHashCode();
}
}


protected void Page_Load(object sender, EventArgs e)
{

RequestQueue<tt> a = new RequestQueue<tt>(100);
tt va = new tt() { Im = "1", UA = "2" };
tt vb = new tt() { Im = "1", UA = "3" };
tt vc = new tt() { Im = "1", UA = "2" };
Response.Write(a.Test(va));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐