我怎樣才能讓自定義的對象(在這種情況下Href
)列表中Distinct()
方法的工作,這裏是當前對象的樣子:使用distinct自定義的對象列表
public class Href : IComparable, IComparer<Href>
{
public Uri URL { get; set; }
public UrlType URLType { get; set; }
public Href(Uri url, UrlType urltype)
{
URL = url;
URLType = urltype;
}
#region IComparable Members
public int CompareTo(object obj)
{
if (obj is Href)
{
return URL.ToString().CompareTo((obj as Href).URL.ToString());
}
else
throw new ArgumentException("Wrong data type.");
}
#endregion
#region IComparer<Href> Members
int IComparer<Href>.Compare(Href x, Href y)
{
return string.Compare(x.URL.ToString(), y.URL.ToString());
}
#endregion
}
我不明白爲什麼我們要重寫接口 – 2010-06-09 14:51:51
@Burnzy的方法:這裏沒有介入的接口。這些方法是從'Object'繼承的。 – SLaks 2010-06-09 15:09:27