FxCop règles personnalisées - code source Inspecter à rechercher de nouveaux mots clés

StackOverflow https://stackoverflow.com/questions/1750323

  •  20-09-2019
  •  | 
  •  

Question

Je voudrais éviter instanciation certaine classe avec une nouvelle, et la force à utiliser la classe usine.

Mais je ne comprends pas comment le faire.

Quelqu'un peut-il me montrer un peu l'échantillon?

Merci d'avance pour toute aide, Meilleures salutations

Était-ce utile?

La solution

Voici quelque chose qui devrait commencer. Vous aurez besoin d'ajouter votre propre logique pour déterminer si des cas tout type donné devrait être autorisé à instancié via newing.

public override ProblemCollection Check(Member member)
{
    if (member is Method)
    {
        this.Visit(member);
    }

    return this.Problems;
}

public override void VisitConstruct(Construct construct)
{
    base.VisitConstruct(construct);

    if (!this.AllowTypeToBeNewed(construct.Type))
    {
        this.Problems.Add(new Problem(this.GetResolution(), construct));
    }
}

private bool AllowTypeToBeNewed(TypeNode type)
{
    throw new NotImplementedException();
}

Autres conseils

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top