metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-01-31 07:22 pm

Scheisse

Как же не хватает в дотнете типа StringNotNull. Чтобы быть гарантированно уверенным, что параметр не может быть null и не проверять в 100 методах его перед обработкой.

[identity profile] metaclass.livejournal.com 2010-01-31 08:09 pm (UTC)(link)
У меня стандартный случай такой: нужно принятую строку обработать, не учитывая регистр. Я ее привожу, например, к нижнему, в виде s.ToLower(). Если при этом предварительно не проверить на !=null - все сыпется с малопонятными исключениями, не дай бог кто-то передаст null.

[identity profile] enternet.livejournal.com 2010-01-31 08:11 pm (UTC)(link)
Значит хелперы это то что тебе нужно. Напиши свой MyToLower(this string str).

[identity profile] komarov.livejournal.com 2010-01-31 09:06 pm (UTC)(link)
есть ещё тернарный оператор, заменяющий if/else, можно сделать сниппет и юзать его

[identity profile] metaclass.livejournal.com 2010-01-31 09:09 pm (UTC)(link)
Не, сниппеты это индусская копипаста, мы их не признаем :)

[identity profile] pit0n.livejournal.com 2010-02-01 08:59 am (UTC)(link)
public static string S(string p)
{
return String.IsNullOrEmpty(p)?"":p;
}

S(s).ToLower()

Да ты и сам это знаешь :-)

Кстати, мне кажется, что таки в этом случае правильно делать параметр для поля и в геттер всовывать проверку, чтобы нулл не могли присвоить.