首页 / 知识
关于c#:如何访问自动实现属性的后备变量?
2023-04-15 06:38:00

How can I access the backing variable of an auto-implemented property?在过去,我们声明的属性是这样的:
现在我们可以做:
我的问题是,如何访问使用该符号自动创建的私有变量? 我宁愿访问私有变量,而不访问公共访问器"年龄"。 是否存在访问私有变量的默认符号,或者只是不可能? 新的自动属性的目的是减少仅具有简单属性的情况下所需编写的样板代码的数量,该简单属性在get或set中不需要任何特殊逻辑。 如果要访问这些属性使用的私有成员,通常是出于以下几个原因:
这通常涵盖了大多数希望直接进入自动属性所使用的后备字段的原因。 您对自动属性的使用意味着您不需要该属性的任何获取/设置逻辑,因此不需要私有后备变量。
如果您的班级中有任何复杂的逻辑,请不要使用自动属性。像往常一样去 IMO,自动属性更适合于快速实现一次性对象或临时数据封装,例如:
您不需要太多逻辑的地方。 该语法通常称为"语法糖",这意味着编译器采用该语法并将其转换为其他语法。在您的示例中,编译器将生成类似于以下内容的代码:
即使知道了所有这些,您可能可以直接访问支持字段,但是这种做法违反了使用自动属性的目的。我在这里说的可能是因为您依赖于实现细节,该细节在将来的C#编译器版本中可能随时发生变化。
从C#3.0自动属性解释 尽管可以直接使用该私人成员,但它很hacky,没有必要。 您不应该,而且几乎不需要。如果您需要访问该属性,则只需使用公共属性(例如this.Age)。支持私有财产的私有领域并没有什么特别的,优先使用私有财产是迷信。 您不能,它是语言功能,而不是IDE功能。老实说,我宁愿选择IDE来为您添加私有变量。我同意类在内部不得不使用公共入口点访问其自己的变量有点奇怪。因此,我本人并没有使用太多新功能。 |
最新内容
相关内容
linux变量释放命令?
linux变量释放命令?,系统,环境,名称,工具,官网,简介,变量,环境变量,命令,内存,如何手动释放Linux内存?1、也就是说可以通过修改/proc中的文件,linux调出变量的命令?
linux调出变量的命令?,系统,工作,工具,信息,地址,代码,标准,名称,官网,命令,linux环境变量怎么设置方法方法一:用export命令,输入“export PATH=linux访问网址命令?
linux访问网址命令?,地址,网络,系统,手机,设备,信息,网址,命令,首次,管理,linux命令行打开火狐浏览器并跳转到想访问的地址程序设定。在编程软linux命令下访问页面?
linux命令下访问页面?,系统,数据,传播,网址,环境,密码,信息,地址,软件,工作,linux,按了ctrl+alt+F1,进入了类似纯命令行的界面,让输入login信linux命令主机名变量?
linux命令主机名变量?,系统,主机名,查询系统,命令,终端,编辑,提示符,根目录,文件,用户,linux如何修改主机名首先,以 root 用户身份登录 Red Hatlinux访问网站的命令?
linux访问网站的命令?,地址,系统,服务,工作,网站,命令,网络,管理,信息,网址,Linux必学的网络操作命令Linux的网络命令比较多,其中一些命令像pinlinux访问模板命令?
linux访问模板命令?,工作,地址,系统,信息,管理,命令,目录,发行,设备,文件,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命令命令访问linux系统?
命令访问linux系统?,系统,地址,信息,软件,命令,时间,工具,网络,管理,电脑,linux文件系统常用命令linux常用命令:查看内核版本:uname-a。图形界面linux命令查看包属性?
linux命令查看包属性?,时间,系统,信息,状态,命令,文件,通讯录,管理,情况,标准,Linux文件相关命令命令一:cat cat命令应该是在Linux中查看文件内linux命令访问网页?
linux命令访问网页?,地址,传播,网络,系统,软件,网址,密码,服务,数据,首次,linux命令行打开火狐浏览器并跳转到想访问的地址程序设定。在编程软linux访问日志的命令?
linux访问日志的命令?,系统,信息,对比,实时,基础,日志,命令,文件,设备,管理,linux系统常用命令熟悉吗?如何在日志文件中,定位用户请求1、“chmlinux网页访问命令?
linux网页访问命令?,地址,网络,工作,系统,命令,传播,信息,软件,代码,首次,在Linux下怎么通过命令上网1、首先,连接相应linux主机,进入到linux命