Примечание: это из грубой памяти. Я сделал это около года назад и, вероятно, не помню каждой детали. Тем не менее, я надеюсь, что направить вас в общем направлении поможет.

у.NET на лету компилятор для сценариев CLR и метод выполнения хотят сделать универсальный приемлемым:

object Execute()
{
  return type.InvokeMember(..);
}

T Execute<T>()
{
  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) not T.GetType(), so on are possible

  return (T) Execute(); // ok
}

Но я думаю операторas будет очень полезно: если тип результата неT метод вернетсяnull, а не исключение! Возможно ли это сделать?

Ответы на вопрос(2)

Ваш ответ на вопрос