title: Operator as and generic classes
body: <p>I want to make a method:</p>
  <pre><code>object Execute()
  {
      return type.InvokeMember(..);
  }
  </code></pre>
  <p>to accept a generic parameter:</p>
  <pre><code>T Execute&lt;T&gt;()
  {
      return Execute() as T;
  
      /* doesn't work:
      The type parameter 'T' cannot be used with the 'as' operator because
      it does not have a class type constraint nor a 'class' constraint */
  
      // also neither typeof(T), nor T.GetType() are possible
  
      return (T) Execute(); // ok
  }
  </code></pre>
  <p>But I think operator <code>as</code> will be very useful: if result type isn't <code>T</code> method will return <code>null</code>, instead of an exception! Is it possible to do?</p>