Где вы проверяете, является ли объект, который вы передаете методу, null или нет?Где проверить, является ли объект нулевым или нет?
Следует ли протестировать объект перед вызовом метода? или внутри метода, который использует аргумент?
public class Program
{
public static void Main(string[] args)
{
// Check if person is null here? or within PrintAge?
PrintAge(new Person { Age = 1 });
}
private static void PrintAge(Person person)
{
// check if person is null here?
Console.WriteLine("Age = {0}", person.Age);
}
}
public class Person
{
public int Age { get; set; }
}
Имея «нулевую» проверку в обоих классах, кажется, слишком избыточный код.
[РЕДАКТИРОВАТЬ]: Что было бы полезным для проверки нулевого значения в вызывающем или вызываемом абоненте?
[EDIT2]: Я просто столкнулся с Defensive Programming и, похоже, защищает проверку нулевого номера в пределах вызываемого абонента. Интересно, является ли это общепринятой практикой.
Вы можете проверить эту ссылку для прямой вперед анализа [1] [1 ]: http://stackoverflow.com/questions/2537987/how-to-check-if-an-object-is-defined – CeganB