为了账号安全,请及时绑定邮箱和手机立即绑定

在给定指定数量的值后将对象设置为“只读”

在给定指定数量的值后将对象设置为“只读”

C#
慕沐林林 2023-05-13 16:04:23
我有一个对象ex: string str,我想在它两次更改其值后将其设置为只读,如此处所示string str="hello world";str="hello";str="hi";//goodstr="sup";//error但我也希望能够更改值可以分配给对象的次数,例如:string str[limit 2]="hello world";str="hello";str="hi";//goodstr[limit++];str="sup";//good是否可以?
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

不使用字符串,但创建一个具有为您提供此类控制的属性的类非常容易:


class IrregularVariableConstThingy

{

    private int _changeCount = 0;

    private string _value;


    public IrregularVariableConstThingy(int maxChangeCount)

    {

        MaxChangeCount = maxChangeCount;

    }


    public int MaxChangeCount {get;set;}


    public string Value {

        get {

            return _value;

        }

        set {

            if(_changeCount = MaxChangeCount)

            {

                throw new Exception("Now you can't change my value!");

            }

            _changeCount++;

            _value = value;

        }

    }

}

请注意,此实现不是线程安全的,也不推荐,但它确实演示了基本概念。


查看完整回答
反对 回复 2023-05-13
  • 1 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信