Правило FxCop не сравнивается с нулевым значением

Я пытаюсь написать правило для fxcop:

если определенный класс сравнивается с нулем, то возникает ошибка.

Как вы думаете, это возможно ?

Я написал часть кода, нисходящего по операторам, я мог найти тип, который искал, но не знал, как найти значение.

ибо знаю, что у меня есть этот код, но я не знаю, куда идти тогда ..

public override ProblemCollection Check(Microsoft.Cci.Member member)
        {
            Method m = member as Method;

            if (m != null)
            {   
                foreach (Statement s in m.Body.Statements)
                {
                    Block b = s as Block;
                    if (b != null)
                    {
                        foreach (Statement s1 in b.Statements)
                        {
                          ?
                        }
                    }
                }
            }

            return this.Problems;
        }

person Pitming    schedule 14.04.2009    source источник


Ответы (1)


Если у вас есть отражатель, вы можете черпать вдохновение из код для Microsoft.FxCop.Rules.Performance.TestForEmptyStringsUsingStringLength — он делает что-то похожее на правило, которое вы хотите написать.

person marklam    schedule 21.04.2009