• C#自动属性优缺点分析


      最近在C#的书,常常遇到一些问题,却总是喜欢刨根问底。下面我就来比较一下自动属性的优缺点。

      自动属性可以使你快速的生成一个变量的get/set 方法,在编译的时候会自动生成一个私有变量,并且这个私有的变量在IDE中是看不到的。这样减少了代码的输入,更简洁,而不会过度的降低代码属性的可读性。具体的效果可见.NET 3.x新特性之自动属性及集合初始化这篇文章,对比很鲜明。

      

      优点 缺点
    非自动属性  

    可以通过私有字段对属性中有些赋值或者取值逻辑校验,

    可以对get/set 设置访问级别,可以定义只读或只写

     代码需手动输入
    自动属性

    无需手动添加私有字段,减少代码输入,更简洁

    对象和集合初始化更快捷。

     不能访问私有字段,不能对属性中有些赋值或者取值逻辑校验、

    必须包含get/set的存取,无法直接使用这种方式定义只读或只写。

       

      另外,还有一个容易混淆的点。在接口中定义属性可以定义访问块get和set中的哪一个能用于该属性。例如:

        interface IMyInterface
        {
            int MyInt { get; set; }
        }

      其中,MyInt属性有get和set存取器。如果要对访问有更严格的限制,可以省略他们之中的任一个。

      这个语法类似自动属性,但是自动属性是为类(而不是接口)定义的,自动属性必须包括get和set存取器。

      其实,对于程序员来讲,没有绝对的优缺点,只有如何用最快捷的方式完美的实现所需的功能,一切都是因时因地而变,唯一不变的是对速度和完美的追求。我们要用好工具,而不能被工具使用。

  • 相关阅读:
    ECMAScript6 入门 函数的扩展
    ECMAScript6 入门-let与const命令
    编码规范
    webpack常用插件
    JS与CSS那些特别小的知识点区别
    常见数组方法及细节
    JS库
    Object冷知识
    html5-语义化标签
    Css继承属性和非继承属性
  • 原文地址:https://www.cnblogs.com/Dautt/p/2719811.html
Copyright © 2020-2023  润新知