Пользовательские правила fxcop - проверка исходного кода на наличие новых ключевых слов - PullRequest
2 голосов
/ 17 ноября 2009

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

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

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

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

Ответы [ 2 ]

1 голос
/ 29 декабря 2009

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

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

1 голос
/ 18 ноября 2009

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