set() 是怎么赋值的?

liu_ff123 2007-04-20 08:36:17
大家好,我刚接触.net 我点迷惑,请大家帮忙指导一下。
页面里有两个文本Text1Box,Text2Box
public string Uname
{
set
{
this.Text1Box.Text=value;
}
get
{
return this.Text1Box.Text
}
}

public string Upwd
{
set
{
this.Text2Box.Text=value;
}
get
{
return this.Text2Box.Text;
}
}


我在Text1Box里输入12345 在Text2Box 里
输入67890 为什么它能得到this.Text1Box.Text='12345'
而不是this.Text1Box.Text='67890'呢。那个值是怎么传的
对value怎么理解呀,set()是怎样赋值的呢?
...全文
507 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu_ff123 2007-04-20
  • 打赏
  • 举报
回复
谢谢你们精彩的回答!
congrui 2007-04-20
  • 打赏
  • 举报
回复
get set是用来扩展域的,也就是C里的变量,只是用起来更加灵活而己。看以下代码:
using System;
public class cls
{
private int book;//定义一个域(也可以叫变量,只是面向对像里都这么叫,使用起来也更加方便)
public int Book
{
get
{
Console.WriteLine("dsf");
return book;

}
set
{
Console.WriteLine("aaa");
book=value;

}
}
public static void Main()
{
cls obj = new cls();
obj.Book = 120; //注意这一句
Console.WriteLine(obj.Book);
}

}
运行结果为:
aaa
dsf
120
也就是先把120赋值给value(相当一个存储空间),然后再用get{}返回给Book,实际上也就是一次改变变量值的过程。
那你也许会问为什么要这么复杂呢?因为这是用了嵌套,所以可以更加方便的写入其它语句,在以后你就应该学到了。
如果没有:
obj.Book = 120;
请想一想会是什么结果呢?
只是一个取值过程:get{}而没有执行set{}
结果为:
dsf
0
babyrockxray 2007-04-20
  • 打赏
  • 举报
回复
set
{
this.Text1Box.Text=value;
}
相当于
public void SetUname(string value)
{
this.Text1Box.Text=value;
}

hertcloud 2007-04-20
  • 打赏
  • 举报
回复
属性 你可以把它看做是一个特别的函数 它有一个参数(类型 value)
这个函数的作用就是给 类的 私有变量赋值(如果你用过c++这样会更明白)

这个东西没什么什么密的 就是.net环境为了控制private变量 而特别出现的语法带起自定义函数而已


北京的雾霾天 2007-04-20
  • 打赏
  • 举报
回复
Value就是属性的值,当你给一个属性值的时候,这个值就是Value
amandag 2007-04-20
  • 打赏
  • 举报
回复
隐含参数 value,在属性和索引器使用
zhulei2008 2007-04-20
  • 打赏
  • 举报
回复
上下文关键字用于提供代码中的特定含义,但它不是 C# 中的保留字。

get、set、value
get 在属性或索引器中定义“访问器”方法,以检索该属性或该索引器元素的值。

set 义属性或索引器中的“访问器”方法,用于设置属性或索引器元素的值。

value 隐式参数,用于设置访问器以及添加或移除事件处理程序。

// 简单示例
class Employee
{
private string _name;
public string Name
{
get { return this._name; }
set { this._name = value; }
}
}
注意:

get、set“访问器”,在默认情况下具有相同的访问级别。但是有时鉴于对读写的考虑,通常可以限制set的访问级别。对属性或索引器使用访问修饰符受以下条件的制约:
不能对接口或显式接口成员实现使用访问器修饰符。

仅当属性或索引器同时具有 set 和 get 访问器时,才能使用访问器修饰符。这种情况下,只允许对其中一个访问器使用修饰符。

如果属性或索引器具有 override 修饰符,则访问器修饰符必须与重写的访问器的访问器(如果有的话)匹配。

访问器的可访问性级别必须比属性或索引器本身的可访问性级别具有更严格的限制。


--------------------------------------------------------------------------------

出处:http://www.cnblogs.com/hunts/archive/2007/01/18/get_partial_where_yield.html
huangdong1900 2007-04-20
  • 打赏
  • 举报
回复
set 跟 get 啊。。
public property aaa() as integer
get
return _aaa
end get

set (byval bbb as integer)
_aaa=bbb
end set
end property
Red_angelX 2007-04-20
  • 打赏
  • 举报
回复
隐含参数value

62,025

社区成员

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

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

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

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