J'ai un code comme ceci:C# CA2104 - code automatisé analyse n'aime statiques types readonly mutables
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 code de 2008 Analyse Déroule ce message:
CA2104 : Microsoft.Security : Remove the read-only designation from 'Base.StaticFoo' or change the field to one that is an immutable reference type. If the reference type 'Foo' is, in fact, immutable, exclude this message.
Ma conception est-elle entachée d'un défaut d'ordre, ou puis-je ajouter un [SuppressMessage]
dans la source?
Quelqu'un peut-il voir quelque chose d'utile dans cette réponse qui n'est pas dans les deux plus âgés? Sinon, je vais supprimer. –
Oui, votre réponse a été utile, s'il vous plaît ne pas l'enlever. – mafu
En fait j'utilise souvent readonly (mais pas statique) sur les champs privés que je modifie. La seule chose que je veux m'assurer, c'est que l'instance est toujours la même et je ne l'échangerai pas accidentellement par la suite. Donc, je pense que readonly avec des types mutables est toujours utile. – mmmmmmmm