Если ваш параметр типизирован для ссылочного типа, то всегда можно передать null
в качестве значения.Следовательно, эта проверка, когда учитывается только Method
, никогда не бывает лишней.
Для конкретного контекстного анализа данного метода возможно доказать, что null
никогда не используется.Например,
sealed class Example {
void Method(object p) {
...
}
void Other() {
Method("hello");
}
}
В этом конкретном контексте вы можете продемонстрировать, что Method
никогда не может быть вызван со значением null
(исключая, конечно, вызов на основе отражения).Но этот тип определения может быть сделан только с контекстно-специфическим анализом