foo = null;
                  
                  
                    var result = foo.ToBar();
                  
                  
                    Console.WriteLine(result);
                  
                  
                   }
                  
                  
                  }
                  
                  
                   
                  
                  
                  public static class StrExtensions
                  
                  
                  {
                  
                  
                   public static string ToBar(this string str)
                  
                  
                   {
                  
                  
                    if  (str == null)
                  
                  
                    {
                  
                  
                     return "not bar";
                  
                  
                    }
                  
                  
                    return "bar";
                  
                  
                   }
                  
                  
                  }Сюрприз, NullReferenceException нету, почему язык должен запретить мне такой код?
                  
                  
                
Потому что это костыль. Ну и null нужно окончательно выпилить как и object уже.
Обсуждают сегодня