仅允许属性的递增和递减

时间:2014-02-19 15:21:01

标签: c# properties

我已经看到某些.NET属性只允许通过+ =和 - =运算符从列表中添加和删除元素。如何使用该功能创建类的属性?

2 个答案:

答案 0 :(得分:1)

如果您正在谈论属性,无法如何通过以下方式确定您的属性的“语法使用”:

  • 启用i += 1;
  • 禁用i = i + 1;

您可能与“委托和事件”不匹配,后者使用语法+ =进行某些操作。有关代理和事件的更多信息,请参阅http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx,例如。

编辑:我能想到的最后一个选择是运算符重载但是我没有经验可以参考这个特定的情况所以有更多信息的链接C# operator overload for `+=`?但是我不这么认为这正是你在寻找,因为它不会限制你的属性的语法使用

答案 1 :(得分:0)

您可以通过以下方式获得类似的效果:

    public class Test
    {
        private List<string> _myList;

        public Test()
        {
            _myList = new List<string>();
        }

        public List<string> MyList
        {
            get { return _myList; }
        }

        public void ManipulateList()
        {
            _myList.Add("string 1");
            _myList.Add("string 2");
        }
    }