пользовательские правила fxcop - Проверка исходного кода на наличие нового ключевого слова

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

  •  20-09-2019
  •  | 
  •  

Вопрос

Я бы хотел избежать создания экземпляра определенного класса с помощью new и принудительно использовать заводской класс.

Но я не понимаю, как это сделать.

Может кто - нибудь показать мне небольшой образец ?

Заранее спасибо за любую помощь, С наилучшими пожеланиями

Это было полезно?

Решение

Вот кое-что, с чего вы должны начать.Вам нужно будет добавить свою собственную логику для определения, следует ли разрешать создание экземпляров любого данного типа с помощью 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();
}

Другие советы

Этот парень хорошо объяснил

http://www.guysmithferrier.com/downloads/FxCop.pdf

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top