关于 get{return _CateID} 与 set {_CateID = value}的疑惑?

parsely 2003-10-08 10:08:11
以下这个方法应该如何理解:


public string CateID
{
get { return _CateID;}

set { _CateID = value;}

}

这个 “_CateID ”是哪里的,是别的方法里的返回值吗?
“_CateID = value”这句又怎么理解,这个value是谁的值啊?

如果都取一样的名,可以吗,象这样:

public string CateID
{
get { return CateID;}

set { CateID = value;}

}

我对以上这种方法的概念一直糊涂,谁能举个例子把这种方法讲得更清楚点,谢谢了!100分求能理解透一点!
...全文
169 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
whl9234 2003-10-09
  • 打赏
  • 举报
回复
public string CateID
{
get { return _CateID;}

set { _CateID = value;}

}
这应该是一个类a(我们假设这个类的名字为a)的属性
CateID为属性名
_CateID为这个类中的一个字段
_CateID一定是虚拟的,不是公共的,所以要用一个公共的属性CateID来操作字段CateID
get { return _CateID;}表示该属性可读,即外界调用:string dd=a.CateID;(相当于调用一个类的方法)可以返回CateID的值
set { _CateID = value;}表示该属性可写,如:a.CateID=...;这样就可以改变类a中private
类型的_CateID字段
dahuzizyd 2003-10-08
  • 打赏
  • 举报
回复
public class Button: Control
{
private string caption;
public string Caption {
get {
return caption;
}
set {
if (caption != value) {
caption = value;
Repaint();
}
}
}
}
Button 控件声明了一个公共 Caption 属性。Caption 属性的 get 访问器返回存储在私有 caption 字段中的字符串。set 访问器检查新值是否与当前值不同,如果是,它将存储新值并重新绘制控件。属性经常遵循上面显示的模式:get 访问器只返回一个存储在私有字段中的值,而 set 访问器修改该私有字段然后执行完全更新对象的状态所需的任何其他操作。

建议先看看帮助里的:C#语言规范-类-属性 的内容
parsely 2003-10-08
  • 打赏
  • 举报
回复
上面的那位,跟我有一样的迷惑啊
tiger8000 2003-10-08
  • 打赏
  • 举报
回复
请看下面的例子:

public string MyEmail
{
get{ return _MyEmail}
}
----------------------------------------------------------------

以上的这个 “_MyEmail”就是下面的这个方法里的 “ _MyEmail = MyDataReader["Email"].ToString();”值吧。
那如果加上:

public string MyEmail
{
get{ return _MyEmail;}

set{ _MyEmail = value ; }
}

这个 "_MyEmail = value " 还是不太懂


--------------------------------------------------------------------
public string ValidateUser(params string[] userinfo)
{
//略去

if (MyDataReader.Read())
{
_MyEmail = MyDataReader["Email"].ToString();
}

else
{

//校验不成功
return "错误,用户名不存在"

}


}
xjlqlqlq 2003-10-08
  • 打赏
  • 举报
回复
你的代码肯定没贴完整,。。。
只看部分很难说清。。。

不过总的说来,这是定义属性,
属性是为了更好的封装私有数据成员,其实就是取/设置某个私有成员的值。。。
saucer 2003-10-08
  • 打赏
  • 举报
回复
you need to define a member variable

string _CatID;

public string CateID
{
//if you do
// string s = CatID;
//the following code is used
get { return _CateID;}

//if you do
//string s = "123";
//CatID = s;
//the following code is called, "value" will be whatever rvalue is
//in this case, it is s, which is "123"
set { _CateID = value;}

}

62,040

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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