Duplicar posible:
string.IsNullOrEmpty() vs string.NotNullOrEmpty()¿Por qué String.IsNullOrEmpty (str) y no str.IsNullOrEmpty()?
Puede alguien explicarme por qué en .NET que iba a escribir en lugar de String.IsNullOrEmpty(str)
str.IsNullOrEmpty()
? Debe haber una razón lógica pero yo no lo sé.
Parece que ustedes están diciendo
- No se puede llamar a los métodos de los objetos que son nulas en C# /. NET (lo hago en C++, que el acceso apenas no cualquier miembro VARs)
- los métodos de extensión no existían en .NET 2.0
- Microsoft no se molestó en actualizar las normas y probablemente sintió que era insignificante
sidenote diversión: en realidad se puede hacer esto en Smalltalk, porque también es nula un objeto (es la instancia única de UndefinedObject). –
Usar un método de extensión para este propósito es simplemente incorrecto ya que aprovecha un detalle de implementación de los métodos de extensión. De hecho, permitiría que 'null.IsNullOrEmpty()' fuera una declaración legal, aunque no se haya compilado de esa manera. –
Duplicado exacto de: http://stackoverflow.com/questions/734372 –