【发布时间】:2013-04-11 10:40:25
【问题描述】:
我有一个简单的自定义列表类,我正在尝试对其实现IComparable,但老实说它不起作用。我试过 MSDN 和其他博客,还是一样。
public class sortDateTime : IComparable
{
protected DateTime m_startDate, m_endDate;
public DateTime startDate
{
get { return m_startDate; }
set { m_startDate = startDate; }
}
public DateTime endDate
{
get { return m_endDate; }
set { m_endDate = endDate; }
}
public int CompareTo(object obj)
{
if(obj is sortDateTime)
sortDateTime sDT = (sortDateTime) obj; //here ERROR
return m_stDate.CompareTo(sDT.m_stDate);
}
}
关注this example,但收到错误:
嵌入式语句不能是声明或带标签的语句
【问题讨论】:
-
我只想要最新(而不是更早)的开始日期
-
它在 MSDN 示例中的样子
-
不要嵌入语句,即在 if 语句中添加花括号。
-
您只需完全按照您在问题中包含的 MSDN 示例进行操作。在
if之后打开{;在return之后关闭};最后抛出ArgumentException,以捕获要比较的对象类型错误的情况;享受...如果您不掌握复制和粘贴的艺术,编程会变得非常困难!
标签: c# c#-2.0 icomparable