子类如何重写父类的Set?

xiaovsjia 2010-06-20 11:19:07
原有一个父类A,拥有以下两个属性:

public int ID { get; set; }
public string Name { get; set;}

后来需求,新建类B,继承自A

增加属性

public string LastUseProperty { get; set; }

需要实现的一个效果是类似:
当给Name复制的时候,将"Name"这个字符串赋值给LastUseProperty,完成一个类似记录最后一次使用的属性的功能。
请问是需要重写set么?
...全文
703 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
leon9090 2010-06-21
  • 打赏
  • 举报
回复
学习~~~
xiaovsjia 2010-06-21
  • 打赏
  • 举报
回复
55555555,没人在么?
noway8881 2010-06-21
  • 打赏
  • 举报
回复
1。一個一個的重載
2.在Set方法上必須開一個口子,例如IPropertyChanged
public string Name
{get{...}
set{if (string.Compare(name,value)==0)
OnPropertyChanged(new PropertyChangedEventArgs("Name",Value));
}
name = value;
}
或者
public string Name
{get{...}
set{return SetValue("Name",Value);}
}
然後重載SetValue
threenewbee 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiaovsjia 的回复:]
引用 6 楼 caozhy 的回复:

引用 3 楼 xiaovsjia 的回复:
有点误会意思了哦。。。
不是说重写 Set Name
而是重写Set

因为父类有几十个属性,很难一个一个去重写的,那样就不需要继承了。。。

使用C# 4.0的新的语法,就可以方便实现这一点。
C# 4.0允许动态创建一个方法。这样你可以用一段代码处理所有的方法。


能具体说明一下么?……
[/Quote]

http://community.icburner.com/blogs/vs2010tests/archive/2009/07/10/c-4-0.aspx
宇峰科技 2010-06-21
  • 打赏
  • 举报
回复
学习了
zhanggd614 2010-06-21
  • 打赏
  • 举报
回复
帮顶 期待c#4.0
angel6709 2010-06-21
  • 打赏
  • 举报
回复
没意义
xiaovsjia 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 caozhy 的回复:]

引用 3 楼 xiaovsjia 的回复:
有点误会意思了哦。。。
不是说重写 Set Name
而是重写Set

因为父类有几十个属性,很难一个一个去重写的,那样就不需要继承了。。。

使用C# 4.0的新的语法,就可以方便实现这一点。
C# 4.0允许动态创建一个方法。这样你可以用一段代码处理所有的方法。
[/Quote]

能具体说明一下么??
threenewbee 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xiaovsjia 的回复:]
有点误会意思了哦。。。
不是说重写 Set Name
而是重写Set

因为父类有几十个属性,很难一个一个去重写的,那样就不需要继承了。。。
[/Quote]
使用C# 4.0的新的语法,就可以方便实现这一点。
C# 4.0允许动态创建一个方法。这样你可以用一段代码处理所有的方法。

wuyq11 2010-06-20
  • 打赏
  • 举报
回复
public class B : A
{
public override string Name
{
get
{
return base.Name ;
}
set
{
base.Name = value;
LastUseProperty =value
}
}
}
beckfun 2010-06-20
  • 打赏
  • 举报
回复
子类
public override string Name
{
get
{
return base.Name;
}
set
{
base.Name= value;
LastUseProperty =value;
}
}
xiaovsjia 2010-06-20
  • 打赏
  • 举报
回复
有点误会意思了哦。。。
不是说重写 Set Name
而是重写Set

因为父类有几十个属性,很难一个一个去重写的,那样就不需要继承了。。。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧