当一个表达式中存在dynamic类型的元素时,整个表达式会进行运行时动态绑定。而运行时动态绑定是不能确定lambda表达式的真实类型的,所以这时候需要明确指定lambda表达式的类型。
所以,另一种方法可以是令这个表达式不存在dynamic元素,如:
Convert( (object) a, () => "return");
dynamic本质上不是一个类型,而是一个请求编译器对于包含dynamic元素的表达式进行特殊编译的标识符。