加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 具有空访问者的属性

发布时间:2020-12-16 00:18:54 所属栏目:百科 来源:网络整理
导读:虽然我当然熟悉自动属性,但我在工作中遇到过这个问题,这似乎是一个截然不同的野兽: public SomeType SomeProp{ get { return someField; } set { }} 我很惊讶它甚至编译,我想它一定是一个bug:该属性似乎允许设置,但这样做绝对没有. 这个结构有用吗?电梯中
虽然我当然熟悉自动属性,但我在工作中遇到过这个问题,这似乎是一个截然不同的野兽:

public SomeType SomeProp
{
  get
  {
    return someField;
  }
  set
  {
  }
}

我很惊讶它甚至编译,我想它一定是一个bug:该属性似乎允许设置,但这样做绝对没有.

这个结构有用吗?电梯中的那些“关门”按钮是不是做了什么,但让用户感觉良好?

解决方法

当结果需要在Web服务中序列化或使用XML或二进制序列化程序时,您经常会看到这种情况.

这是懒惰和草率,但它经常发生.这使对象具有属性可设置的“外观”.如果它是为了实现一个接口并允许编译,那么执行它的开发人员需要被一个直接的对象殴打头部和肩膀,因为他刚刚打破了界面.如果存在无法实现的正当理由,则开发人员需要将其重新提交给架构师进行审核.实现接口时,不要只留下空的存根方法.如果您目前没有为实现定义的技术,那么至少抛出一个新的NotImplementedException,以便单元测试能够捕获它.

就序列化而言:ReadOnly属性不会包含在常规序列化中,并且可能使该属性对Web服务客户端不可用. (参考:Read-Only Properties Cannot Be Exposed by XML Web Services.)这是我们都应该转向WCF和DataContracts的原因之一.如果您通过WCF接受此类作为方法的输入类型,则再次检索钝对象.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读