Можно создать дубликат:
string.IsNullOrEmpty() vs string.NotNullOrEmpty()Почему String.IsNullOrEmpty (str), а не str.IsNullOrEmpty()?
Может кто-нибудь объяснить мне, почему в .NET Я хотел бы написать String.IsNullOrEmpty(str)
вместо str.IsNullOrEmpty()
? Должна быть логическая причина, но я этого не знаю.
Это звучит, как вы, ребята, говорите
- Вы не можете вызывать методы из объектов, которые являются нулем в C# /. NET (я делаю это в C++, это как раз не доступ к любому члену варов)
- методы расширения не существует в .NET 2.0
- Microsoft не удосужился обновить стандарты и, вероятно, чувствовал, что это было незначительным
Fun Sidenote: вы можете сделать это в Smalltalk, потому что ноль также объект (это одиночный экземпляр UndefinedObject). –
Использование метода расширения для этой цели просто неверно, поскольку оно использует детали реализации методов расширения. Вы бы действительно разрешили 'null.IsNullOrEmpty()' быть юридическим утверждением, хотя он не был скомпилирован таким образом. –
Точный дубликат: http://stackoverflow.com/questions/734372 –