int MyProperty { set; }
在财产上仅使用 setter 的想法是什么?如果我们为一个属性设置某个值,我猜它很可能在某个时刻读取该值?
只写属性在基类库中很少见,但是XmlReaderSettings.XmlResolver http://msdn.microsoft.com/en-us/library/system.xml.xmlreadersettings.xmlresolver.aspx就是一个例子。根据该主题中的安全说明,我认为省略了 get 访问器,以防止部分受信任的代码访问或篡改默认解析器。
XmlResolver.Credentials http://msdn.microsoft.com/en-us/library/system.xml.xmlresolver.credentials.aspx and XmlTextReader.XmlResolver http://msdn.microsoft.com/en-us/library/system.xml.xmltextreader.xmlresolver.aspx出于同样的原因,可能是只写属性。
(奇怪的是,XmlAttribute.InnerText http://msdn.microsoft.com/en-us/library/system.xml.xmlattribute.innertext.aspx也是一个只写属性,但这似乎不是一个好的设计。)
按照上面的例子,我想说你应该使用只写属性only当读写属性有意义,但出于安全原因您不需要 get 访问器时。
你当然可以使用Set
方法,但属性的优点是它可以在对象初始值设定项中使用,就像通常使用的那样XmlReaderSettings
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)