setter 上的“未使用“value”参数”是什么意思?

问题描述 投票:0回答:3

对于下面的代码,我添加不带主体的“私有集”的原因是使其在此类之外不可变。 resharper一直告诉我““value”参数未使用”,请问这是什么意思?

    public string ErrorCode
    {
        get
        {
            if (!this.request.Completed)
            {
                return "Incomplete";
            }
            return this.request.Error.ToString();
        }

        private set
        {
        }
    }
c# properties resharper
3个回答
4
投票

如果您要使用 setter,那么您还需要使用

value
关键字。如果您不需要设置器,请将
ErrorCode
属性设置为只读,然后您可以删除
private-set
子句。否则没有办法避免这种情况。

 public string ErrorCode
    {
        get
        {
            if (!this.request.Completed)
            {
                return "Incomplete";
            }
            return this.request.Error.ToString();
        }

        private set
        {
             _globalVar = value;
        }
    }

2
投票

如果你实现了 get,你就不能拥有自动的 setter。你有几个选择:

1.将setter全部移除,这样您将获得唯一的财产。您可以直接从类级别操作私有字段。不推荐

  1. 在setter中提供最少的实现:_yourPrivateField = value; 虽然懒但是会做。

  2. 为 setter 提供一些验证——始终是首选。


0
投票

sdawrwssxkmksadmiajsifjidfjeiskifjiesjrifjemifneacimsjfimeaaaaaaaajfkishedfaehuwwwwwwwwwwwwwwwfnajenfuekhnrafieazksnfeahnfsjhrie

© www.soinside.com 2019 - 2024. All rights reserved.