定数データのコレクションを含む型があります。定数は、私のプログラムの外部で定義されている標準によって定義されています。タイプは次のようになります。
public class IAmImmutable
{
public IAmImmutable(string member1, string member2)
{
this.Member1 = member1;
this.Member2 = member2;
}
public string Member1 { get; private set; }
public string Member2 { get; private set; }
public static readonly Instance1 = new IAmImmutable("abc", "def");
public static readonly Instance2 = new IAmImmutable("example", "data");
public static readonly Instance3 = new IAmImmutable("for", "stackoverflow");
public static readonly Instance4 = new IAmImmutable("these are", "constant fields");
public static readonly Instance5 = new IAmImmutable("42", "1729");
/* ... */
public static readonly Instance1000 = new IAmImmutable("HUNGRY EVIL", "ZOMBIES");
}
CA2104:DoNotDeclareReadOnlyMutableReferenceTypes
これにより、 FxCop から何千もの検出が行われます。この検出のメモは、示された型が不変である場合、検出を抑制する必要があることを示しています。この場合はそうです。ただし、それを回避できるのであれば、何千もの抑制を行いたくありません。
このタイプを不変としてマークして、この検出が発生しないようにすることは可能ですか?