相关疑难解决方法(0)

不可变的只读引用类型和FXCop违规:不要声明只读可变引用类型

我一直试图围绕这个FXCop违规行为"DoNotDeclareReadOnlyMutableReferenceTypes"

MSDN:http://msdn.microsoft.com/en-us/library/ms182302%28VS.80%29.aspx

来自MSDN的代码会导致此违规行为:

namespace SecurityLibrary
{
    public class MutableReferenceTypes
    {
        static protected readonly StringBuilder SomeStringBuilder;

        static MutableReferenceTypes()
        {
            SomeStringBuilder = new StringBuilder();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

从Jon 在这里这里的答案,我理解持有对象引用的字段(在本例中为SomeStringBuilder)是readonly而不是对象本身(由其创建new StringBuilder())

所以以这个例子为例,一旦该字段引用它,我将如何更改对象本身?我喜欢Eric Lippert关于如何更改只读数组的示例,并希望看到类似于任何其他可变引用类型的内容

c# string fxcop readonly immutability

7
推荐指数
2
解决办法
2938
查看次数

标签 统计

c# ×1

fxcop ×1

immutability ×1

readonly ×1

string ×1