Учтите, что null может быть аргументом метода.Также учтите, что метод расширения foo.Bar<int>();
на самом деле является просто синтаксическим сахаром для IFooExtensions.Bar<int>(foo);
, и вы увидите, что да, аргумент действительно может быть нулевым, поэтому, если вы что-то делаете с аргументом, это, безусловно, может быть целесообразнымэто для нуля (или просто позвольте NullReferenceException
быть брошенным, выбирайте).
Примечание. Вы не получите исключение, просто вызвав с нулевым объектом ссылки, поскольку помните, что метод на самом деле не принадлежит объекту.Вы получите исключение только в том случае, если (а) вы намеренно выбросили один из них или (б) тело метода фактически вызывает его, пытаясь работать с нулевым экземпляром.