| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 427 人关注过本帖
标题:关于覆盖一个方法...
取消只看楼主 加入收藏
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
 问题点数:0 回复次数:0 
关于覆盖一个方法...

namespace Operators
{
struct Minute
{
public Minute(int initialValue)
{
this.value = System.Math.Abs(initialValue) % 60;
}

public int Value
{
get { return this.value; }
}

public static bool operator ==(Minute lhs, Minute rhs)
{
return lhs.value == rhs.value;
}

public static bool operator ==(Minute lhs, int rhs)
{
return lhs.value == rhs;
}

public static bool operator ==(int lhs, Minute rhs)
{
return lhs == rhs.value;
}

public static bool operator !=(Minute lhs, Minute rhs)
{
return lhs.value != rhs.value;
}

public static bool operator !=(Minute lhs, int rhs)
{
return lhs.value != rhs;
}

public static bool operator !=(int lhs, Minute rhs)
{
return lhs != rhs.value;
}

/// 代码段一
public override bool Equals(object other)
{
return (other is Minute) && Equals((Minute)other);
}

/// 代码段二
public bool Equals(Minute other)
{
return this.value == other.value;
}


/// 代码段三
public override int GetHashCode()
{
return this.value;
}

public static Minute operator++(Minute arg)
{
arg.value++;
if (arg.value == 60)
{
arg.value = 0;
}
return arg;
}

private int value;
}
}


问题一(红色部份的代码):像这样override一个方法有实际意义吗?与直接写一个Equals方法(如代码段一)应能完成吧.
问题二(绿色部份的代码):该方法是否每次都返回一个相同的值,即当前的value变量的值

搜索更多相关主题的帖子: public return 
2007-06-25 23:10
快速回复:关于覆盖一个方法...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015381 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved