C#的“属性”能不能被重载啊?

mycattish21 2008-09-08 10:07:05
各位高手,请问下 C#的“属性”能不能被重载啊?
...全文
330 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
brallow 2008-09-08
  • 打赏
  • 举报
回复
附带再说明一点吧:virtual不能被单独应用于get或set。
在C#中是支持
public int P1
{
private get;
set;
}
这样get就无法在外部访问成为私有成员,但不可以把virtual应用在上面
public int P1
{
virtual get;
set;
}
这点是我刚才突然想起来就测试了一下,仔细想想其实是很合理的。但还是说明一下,省得大家去试了。
mycattish21 2008-09-08
  • 打赏
  • 举报
回复
非常谢谢你,大哥,我懂了!
delectation 2008-09-08
  • 打赏
  • 举报
回复
属性不可以重载的。
brallow 2008-09-08
  • 打赏
  • 举报
回复
哈,必须要先弄清楚你说的重载是什么意思。
如果是overload,则是表示有多个签名不同的但名称相同的方法(属性),这是不可能的。
对于属性来说,get运算总是无参数,set总是带一个隐藏的与属性类型相同的参数。这点不可改变,所以它不可能被overload。

如果是指override,表示同一个属性被不同的派生类进行重写(有时候也翻译成性重载,所以容易弄混)的时候,那么这是可以的。也就是可以定义成:
public virtual int INT{get;set;}

111,125

社区成员

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

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

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