小编110*_*101的帖子

属性总是不可变的吗?

我在使用类成员的自动生成属性时遇到问题.在类上调用方法应该更新属性,但它似乎不起作用.

我正在更新一些旧的C#代码,VS2017告诉我一些重构技巧,例如,私有成员手动提供属性到自动生成的属性.

只需点击几下,VS就可以轻松完成,而且一切都很好.问题是代码不像以前那样工作.

请考虑以下简化代码示例:

using System;

public class Program    
{
    struct A
    {
        public A(int x) : this()
        {
            X = x;
        }

        public int X { get; private set; }

        public void Update(int y)
        {
            X += y;
        }
    }

    class B
    {
        private A _secondVar;

        public B()
        {
        }

        public A MyVar { get; set; }

        public A SecondVar
        {
            get { return _secondVar; }
            protected set { _secondVar = value; }
        }           

        public void Foo(int z)
        { …
Run Code Online (Sandbox Code Playgroud)

c# properties

4
推荐指数
1
解决办法
259
查看次数

标签 统计

c# ×1

properties ×1