C # Operador de propagación nulo / Expresión de acceso condicional y bloques if

Los Operador de propagación nulo / Expresión de acceso condicional llegando c # -6.0 parece una característica bastante útil. Pero tengo curiosidad por saber si ayudará a resolver el problema de verificar si un miembro secundario no es nulo y luego llamar a un método booleano en dicho miembro secundario dentro de un bloque if:

  public class Container<int>{
       IEnumerable<int> Objects {get;set;}
  }

  public Container BuildContainer()
  { 
      var c = new Container();

      if (/* Some Random Condition */)
         c.Objects = new List<int>{1,2,4};
  }

  public void Test()
  {
      var c = BuildContainer();

      //Old way
      if ( null != c && null != c.Objects && c.Objects.Any())
         Console.Write("Container has items!");


      //C# 6 way?
      if (c?.Object?.Any())
          Console.Write("Container has items!");
  }

Serác?.Object?.Any() compilar? Si el operador de propagación cortocircuita (supongo que es el término correcto) a nulo, entonces tieneif (null), que no es válido.

¿El equipo de C # abordará esta inquietud o me estoy perdiendo el caso de uso previsto para el operador de propagación nulo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta