Пользовательские правила fxcop - проверка исходного кода на наличие нового ключевого слова
Я хотел бы избежать создания экземпляров определенного класса с новым и заставить использовать фабричный класс.
Но я не понимаю, как это сделать.
Может кто-нибудь показать мне маленький образец?
Заранее спасибо за любую помощь, С наилучшими пожеланиями
2 ответа
Решение
Вот кое-что, что должно начать вас. Вам нужно будет добавить свою собственную логику для определения того, следует ли экземплярам любого данного типа создавать экземпляры с помощью 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();
}
Этот парень хорошо объяснил