能不能详解一下public string xxxx { get;set;}这种简写的用法?

gzpepco 2009-11-13 04:03:32
能不能详解一下public string xxxx { get;set;}这种简写的用法?
...全文
11290 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
yankunlin 2009-11-15
  • 打赏
  • 举报
回复
这样写有助于应用,,使用的时候相对简单一些,快捷一些..
shangweidenglu 2009-11-15
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 dobzhansky 的回复:]
//其实没有必要,如果你的set;get;都没设置代码,那你就直接public就行了设置set,get主要是为了在访问值和//设置值时进行一些判断、限制。

有些场合必须要属性的, 比如数据绑定
[/Quote]

公共字段无法绑定数据?
Dobzhansky 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 hzzasdf 的回复:]
引用 8 楼 dobzhansky 的回复:
我觉得
最好不要这么写, 尽量能做到 2.0 兼容



我测试过,在VS2008里用这样的写法,然后将发布目标设成.net 2.0,结果运行完全正常
[/Quote]编译后的 il 没有这个区别的,
是编译器给自动加上的, 2.0 的 C++/CLI 早有这个玩具了.
Dobzhansky 2009-11-14
  • 打赏
  • 举报
回复
//其实没有必要,如果你的set;get;都没设置代码,那你就直接public就行了设置set,get主要是为了在访问值和//设置值时进行一些判断、限制。

有些场合必须要属性的, 比如数据绑定
bonnibell 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 shangweidenglu 的回复:]
其实没有必要,如果你的set;get;都没设置代码,那你就直接public就行了设置set,get主要是为了在访问值和设置值时进行一些判断、限制。
[/Quote]

有道理
看一下GridView.cs里的属性设置,就明白了
http://www.koders.com/csharp/fidE9651B367C2E223A0A7183F509056B3B664B8E86.aspx?s=gridview

  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dobzhansky 的回复:]
我觉得
最好不要这么写, 尽量能做到 2.0 兼容

[/Quote]

我测试过,在VS2008里用这样的写法,然后将发布目标设成.net 2.0,结果运行完全正常
shangweidenglu 2009-11-14
  • 打赏
  • 举报
回复
其实没有必要,如果你的set;get;都没设置代码,那你就直接public就行了设置set,get主要是为了在访问值和设置值时进行一些判断、限制。
lxiron 2009-11-14
  • 打赏
  • 举报
回复
这个属性是将私有变量共有化,这样私有变量就不会被别的类访问到,而属性却提供了和外边进行参数传递的过程!总得而言是为了保护私有变量的安全![Quote=引用 13 楼 chen_ya_ping 的回复:]
这个是属性体现了C#中很好的封装的特性,比如:
class Person
{
private string _name;
public string Name
{
  get
{
  return _name;
}
set
{
  _name=value;
}

}
}

访问的时候:
Person p=new Person();
p.Name="123";

更多的消息建议楼主买一本C#的书看看,很多网上的资料都是人云亦云的。
[/Quote]
chen_ya_ping 2009-11-14
  • 打赏
  • 举报
回复
这个是属性体现了C#中很好的封装的特性,比如:
class Person
{
private string _name;
public string Name
{
get
{
return _name;
}
set
{
_name=value;
}

}
}

访问的时候:
Person p=new Person();
p.Name="123";

更多的消息建议楼主买一本C#的书看看,很多网上的资料都是人云亦云的。
huming_h 2009-11-13
  • 打赏
  • 举报
回复
就是MS跟你做了更多。。
woodyy 2009-11-13
  • 打赏
  • 举报
回复
类的属性嘛。
Dobzhansky 2009-11-13
  • 打赏
  • 举报
回复
我觉得
最好不要这么写, 尽量能做到 2.0 兼容
gzpepco 2009-11-13
  • 打赏
  • 举报
回复
如果属性是读写类中某个私有变量_xxxx的值,这种写法是不是就不行了?
龙翔飞雪 2009-11-13
  • 打赏
  • 举报
回复
学习了, 以后开始这么写.....
zhenjiaobing 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhoukang0916 的回复:]
这个是3.5的新特性!

自动属性!!
[/Quote]
--------
conanhhy 2009-11-13
  • 打赏
  • 举报
回复
这是一般类属性的写法,例如:
public string Property {
get { return _xxx; }
set { _xxx = value; }
}
PandaIT 2009-11-13
  • 打赏
  • 举报
回复
这个是3.5的新特性!

自动属性!!
zhujiazhi 2009-11-13
  • 打赏
  • 举报
回复
Class Demo
{
public string Name{get;set;}
}

void Test()
{
Demo demo = new Demo();
demo.Name = "zhujiazhi";
string name = demo.Name;
}
ttg520 2009-11-13
  • 打赏
  • 举报
回复
private int myVar;

public int MyProperty
{
get { return myVar;}
set { myVar = value;}
}

上面的简写

62,243

社区成员

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

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

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

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