protected override Boolean IsValid(String propertyValue)
{
return !String.IsNullOrEmpty(propertyValue) && propertyValue.Trim().Length > 0;
}
Этот метод проверки C# делает именно то, что я хочу, но я не знал, что вы можете использовать сокращение выражений таким образом.
Когда propertyValue имеет значение null, выполнение по-прежнему не должно оценивать вторую часть выражения для получения логического результата, и если да, то почему вторая часть не генерирует исключение null ref для Trim(). Длина > 0 вызов?
Я предполагаю, что вторая часть оценивается как false или как null, но мне любопытно узнать, что здесь происходит.
Извините, если я упустил что-то действительно очевидное, пожалуйста, просветите меня.
Боже, я упустил что-то очевидное, какой идиот! - полное отсутствие информации о том, что, когда первая часть ложна, вторая часть не имеет значения, и я даже ЗНАЛ, что это было короткое замыкание - извините за то, что потратил впустую время, что за смайлик для смущения?
Добавлен еще один тег, чтобы отразить мое смущение при наборе текста перед тем, как подумать.