属性访问器-关于private set的疑问

问题描述

关于private set的疑问

属性访问器里面,private set和set究竟在使用过程中有什么区别?搞不明白为何要声明set为private,那为何get不声明为private呢?新手困惑,求指导。

解决方案

设置了 private,则类外部无法访问,只有内部可以访问。
get 没有设置 private,则说明此属性可以类外部进行 get。

即在类外部,类似于一个只读的东东:只能 get,不能 set。
set 与 get 的访问权限设置是独立的,相互不影响。

解决方案二:

get; private set;的意思是指只能访问get,不能set。也就是说等同于只读属性。

解决方案三:

只读的,这个根据不同的需求自己定义的

解决方案四:

也可以private get
不过这样比较少。
好比你见过只读的光盘(CD-ROM),但是没见过只写的光盘吧。
其实也有只写不读的东西,比如税务局的报税盘。

时间: 2024-08-27 17:47:54

属性访问器-关于private set的疑问的相关文章

.net 泛型 局部类型、属性访问器保护级别、命名空间别名限定符

.net 泛型 局部类型.属性访问器保护级别.命名空间别名限定符 泛型1>=局部类型: c#1.0中,一个类只可以放在一个文件中.c#2.0中用了一个关键字<partial>把一个类分成两个部分<即一个类的实现可以在多个文件中>.编译结果和写在一个文件中完全相同,更多的意义在于工程化的管理. ..1>>局部类型值适用与接口.类或者结构中,不支持枚举<一般也没这么大的枚举吧>: ..2>>同一个类型的各个部分必须都有修饰符partial,必须

JavaScript--数据属性和访问器属性

  在JavaScript中最基本的创建一个对象的方法是new一个Object()的实例,然后再为其添加属性与方法,下例创建一个包含属性name的person对象,name属性的特征值为"xiaochang": var person = new Object();person.name = "xiaochang";person.say = function(){ console.log("Hi, my name is " + this.name)

浅谈JavaScript 数据属性和访问器属性_javascript技巧

在JavaScript中对象被定义为"无序属性的集合,其属性可以包含基本值.对象或函数."通俗点讲,我们可以把对象理解为一组一组的名值对,其中值可以是数据或函数. 创建自定义对象通常有两种方法,第一种就是创建一个Object的实例,然后再为其添加属性和方法,例如: var person = new Object(); person.name = "Scott"; person.age = 24; person.sayName = function(){ alert(

无法显式调用运算符或访问器 无法对属性或索引器赋值

问题描述 无法显式调用运算符或访问器 无法对属性或索引器赋值 困扰了好久了.c#反汇编回来的程序报了2个错误, this.msc.add_Error(new DScriptControlSource_ErrorEventHandler(OnError)); this.msc.add_Timeout(new DScriptControlSource_TimeoutEventHandler(OnTimeout)); 提示:"MSScriptControl.DScriptControlSource_E

《.NET程序员面试秘笈》----面试题4 举例说明属性、get和set访问器的使用

面试题4 举例说明属性.get和set访问器的使用 .NET程序员面试秘笈[考点]对属性(Property)的理解,C#中get和set访问器的编写方法,理解自动实现的属性. [出现频率] [解答] 本例通过属性操作类中声明的私有字段_username,请注意在Name属性的get和set访问器中的逻辑操作.本例还有一个自动实现的属性,可读取用户输入的数据.在ch01目录下新建一个程序文件,并命名为GetSet.cs,编写代码如程序1.5所示. 在命令行下编译GetSet.cs后,执行GetSe

java-子类继承父类,表示is a 。为什么还要有private 修饰的方法和属性访问不到呢?

问题描述 子类继承父类,表示is a .为什么还要有private 修饰的方法和属性访问不到呢? 子类继承父类,表示is a .为什么还要有private 修饰的方法和属性访问不到呢? 解决方案 这个is表示这两个类关联度高,含有很多相同的东西,并不是说完全相同,老爸有的东西儿子也不一定都有的对吧? 解决方案二: 之所以你的父类里面有private的方法和属性,这可能是因为你的父类里面有其独特的东西,子类虽是继承于父类,但不意味着父类就没有只属于自己的东西,子类的存在我想更多的是因为多态,而不是

浅谈Javascript数据属性与访问器属性_javascript技巧

ES5中对象的属性可以分为'数据属性'和'访问器属性'两种. 数据属性一般用于存储数据数值,访问器属性对应的是set/get操作,不能直接存储数据值. 数据属性特性:value.writable.enumerable.configurable. 解释:configurable:true/false,是否可以通过delete删除属性,能否修改属性的特性,能否把属性修改为访问器属性,默认false: enumerable:true/false,是否可以通过for in循环返回,默认false: wr

C#事件访问器

我们可以通过为事件定义事件访问器,来控制事件运算符+=.-=运算符的行为 有两个访问器:add和remove 声明事件的访问器看上去和声明一个属性差不多 下面示例演示了具有访问器的声明.两个访问器都有叫做value的隐式值参数,它接受实例或静态方法的引用 public event EventHandler Elapsed { add { //... 执行+=运算符的代码 } remove { //... 执行-=运算符的代码 } } 声明了事件访问器后,事件不包含任何内嵌委托对象.我们必须实现自

探讨:JavaScript ECAMScript5 新特性之get/set访问器_javascript技巧

EcmaScript5简介 首先得先搞清楚ECMAScript是神马,我们知道JavaScript或者说LiveScript最开始是Netscape搞出来的,后来微软也跟进搞出了Jscript,ScriptEase也有自己的CENvi,这样就有了三个版本的浏览器Script各行其是,大家懂这个混乱的,于是乎标准化的问题被提上议事日程.1997年以JavaScript1.1为蓝本的建议被提交到欧洲计算机制造商协会( E uropean C omputer M anufacturers A ssoc