get的真正目的是什么,在c#中设置属性? [英] What is the real purpose of get,set properties in c#?

查看:108
本文介绍了get的真正目的是什么,在c#中设置属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


可能存在重复:

属性与方法

C#:公共字段与自动属性






  • 真正的目的是在c#中设置
    属性?

  • 任何时候都应该使用get,set属性...

  • 推荐答案

    您需要他们控制您的对象私有字段值。例如,如果你不想允许零值或整数的负值。另外,封装对于触发事件改变对象成员的值很有用。
    示例

    you need them to have control over your object private fields values. for example if you don't wanna allow nulls or negative values for integers. Also, encapsulation is useful for triggering events on change of values of object members. Example

      bool started;
        public bool Started
        {
            get { return started; }
            set
            {
                started = value;
                if (started)
                    OnStarted(EventArgs.Empty);
            }
    
        }
    

    另一个例子

        int positiveNumber;
    
        public int PositiveNumber
        {
            get { return positiveNumber; }
            set {
                if (value < 0)
                    positiveNumber = 0;
                else positiveNumber = value;
            }
        }
    

    以及另一个只读属性的实现可以是如下:

    and also another implementation of read only properties could be as follows

        int positiveNumber;
    
        public int PositiveNumber
        {
            get { return positiveNumber; }
    
        }
    

    这篇关于get的真正目的是什么,在c#中设置属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆