I've got a code like this:
public abstract class Base
{
// is going to be used in deriving classes
// let's assume foo is threadsafe
protected static readonly Foo StaticFoo = new Foo();
}
Visual Studio 2008的代码分析弹出以下消息:
CA2104:Microsoft.Security:从“Base.StaticFoo”中删除只读标记,或将该字段更改为不可变引用类型之一。如果引用类型“Foo”实际上是不可变的,则排除此消息。
我的设计本质上有缺陷吗?还是我可以在源代码中添加[SuppressMessage]
?