2016-03-04 1 views
-2

У меня есть оператор if, который выполняет проверку для текстового поля в приложении WinForms.IsNullEmptyOrWhiteSpace Yielding True, когда текст «> =«

if (txtRule.Text.IsNullEmptyOrWhiteSpace()) 
{ 
    result = false; 
    //error provider code 
} 

Я знаю, за то, что текст в этом текстовом поле является строка «> =», потому что я использую контрольную точку, чтобы выяснить, что текущий текст в текстовом поле.

Очевидно, что текст не может быть пустым, поскольку в текстовом поле что-то есть, и то же самое можно сказать о том, что он не пуст. Это означает, что это должно быть так, что специальные символы «> =» по какой-то причине считаются пробелами?

Я хотел бы знать причину, по которой это утверждение возвращает true, когда все, кажется, указывает на ложное значение.

+1

Каков ваш метод 'IsNullEmptyOrWhiteSpace()'? – user1666620

+1

Вы пишете собственное расширение? Лучше покажите нам этот код. – LarsTech

ответ

7

Учитывая, что не существует никакого метода экземпляра с этим именем в System.String классе (наиболее близкий по имени String.IsNullOrWhiteSpace что static, в то время как вы используете свой метод на txtRule.Text, который является System.String), то, возможно, что это метод расширения, написанный кем-то, где вы работаете. Попробуйте выполнить определение Go to Definition и проверьте.

+0

Благодарим вас за предоставление ответа вместо того, чтобы просто обвинять почту, как это делает большинство людей на StackOverflow. Я не знал, что это метод расширения, потому что это написал кто-то еще в отделе. Я просто предположил, что это базовый метод для строки. Еще раз спасибо! –

Смежные вопросы