社区
C#
帖子详情
C#中property取代public field的好处是什么?
yang_lawrence
2012-09-13 02:18:51
如题。
...全文
303
7
打赏
收藏
C#中property取代public field的好处是什么?
如题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
devmiao
2012-09-13
打赏
举报
回复
对于初学者,最直接的好处莫过于,属性可以绑定控件,而字段不可以。
lc_ant
2012-09-13
打赏
举报
回复
数据安全性 和 可控制性
qldsrx
2012-09-13
打赏
举报
回复
filed是内部使用的,property是开放给外部使用的,这是约定。有些信息是内部存储但又不得不设置为public,让自己的项目可以方便调用,但是你写的项目可能给别的项目引用,这时就涉及到对外开放的部分,外部约定使用property。
最典型的例子就是数据表格控件DataGridView和属性显示控件PropertyGrid,基本上控件都只能识别Property,无视Filed。不过如果你定义的类只给自己用,就直接用Filed吧,那样效率会更好些。
另外Property还有附加功能,例如可以同时对多个Field进行赋值,或者在Get的时候初始化某个内部Field等等,都是为了方便在接口提供外部数据而存在的。
夜空皓月
2012-09-13
打赏
举报
回复
说一个比较实用但是并不冠冕堂皇的理由:方便调试。
种草德鲁伊
2012-09-13
打赏
举报
回复
封装.
shizhu820228
2012-09-13
打赏
举报
回复
1.控制是否可写
2.可以写IF
?
q107770540
2012-09-13
打赏
举报
回复
property可设置只get或只set
而 public field不可以吧
深入
C#
中
get与set的详解
释一:属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。访问器声明可以包含 get 访问器或 set 访问器,或者两者均包含。声明采用下列形式之一:get {}set {}get 访问器get 访问器体与方法体相似。它必须返回属性类型的值。执行 get 访问器相当于读取字段的值。以下是返回私有字段 name 的值的 get 访问器: 代码如下:private string name; // the name
field
public
string Name // the Name
property
{ get { return name; }}
C#
中
字段(
field
)、属性(
property
)、索引器(index)以及常量(const)
一个程序的本质就是”数据+算法“,以下四种成员均是用来表示”数据“。 字段(
field
): 1,什么是字段(
field
) (1)字段(
field
)是一种表示与对象或类型(类与结构体)关联的变量 字段的本质是一种变量,作用是用来存储数据的,字段是为一个对象或者类型存储数据的。和方法体
中
的局部变量不同,方法体
中
的局部变量是方法运行时,帮助其方法暂时地存储数据,而字段帮助对象或类型存储数据。当一个对象或类型拥有多个字段的时候,这些字段的值就能组合起来表示这个对象或类型当前的状态。 所以简单的来说,字...
C#
中
的域(
Field
)和属性(
Property
)
C#
中
的域(
Field
)和属性(
Property
)(一般的命名习惯
field
: _xxx 对应的属性: xxx)或许狭义地进行区分一下,Get和Set的实现的称为属性,其他的变量称为数据成员。
C#
将属性从其他语言
中
的一种特殊约定提升成为一种第一等(first-class)的语言特性。属性在使我们可以将数据成员暴露为公有接口的同时,还为我们提供了在面向对象环境
中
C#
字段(
Field
)与属性(
Property
)
C#
字段(
Field
)与属性(
Property
) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术: VS
C#
语言 作者:刘铭聪 撰写时间:2022年5月19日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C#
字段(
Field
)与属性(
Property
) 一、字段的.
C#
中
Property
和Attribute的区别
Attribute 字段
Property
属性(get;set;) 属性的正常写: private string name;
public
string Name { get { return name; } set { name = value; } } 简写:(自动属性)
public
string Name { get; set; } 然后 编译器 会转换成 正常写法 l
Property
就是访问字段(成员变量,
Field
)提供的一种方式(set/get) l Prope..
C#
110,567
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章