C#中的属性

     简介:


    在C#中,属性的本质是两个方法get 和 set。  用于对外提供访问类内private字段的路径。 

 

        get 方法是提供类外获取private字段值的途径,set 方法是提供类外对类内private字段赋值的合法途径

     (我们可以set       方法中,定义什么样的输入值是合法的,避免非法输入)。 


    例子:

     一般属性:

          private  string str ;

          public string _str{

            get {   return  str; }

            set {  str = value; }

            }


     自动属性

           

         public string _str{

            get { }

            set { }

            }


     只读属性

     public string _str{

            get { }

            }


      只写属性

    

         public string _str{

           set { }

            }

         使用自动属性时,代码在编译时会自动添加一个私有字段(可以通过反汇编得知)。一般不建议使用自动属性因为自动生成的字段存在不可预测(不看其编译后的代码,我们甚至不知道编译在后台给我们生成了一个私有字段)

   拓展:

       正因为属性实际上是两个名为get ,set的方法不是字段,所以在接口中可以声明属性,然而接口中的属性必须是自动属性  因为接口中不能有字段,只包含未实现的方法


  编程经验:

     在DataGrid控件中,当需要绑定到一个自定义的类的相关字段中时,必须将相应的字段封装成属性才能进行数据绑定

       可以在属性的set方法中进行,验证控制,拒绝非法值得输入


     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值