Unboxing for dynamic type
问题 Consider the following code: public class Foo1 { public dynamic dowork() { return 10; } } And in my Main , I call like: int i = new Foo1().dowork(); The return value is 10. My question is why no Unboxing is required here?But in watch I've verified the Return Type of dowork is System.Object . 回答1: It is unboxing - but it's doing it implicitly. There's an implicit conversion from any dynamic expression to any type. The exact conversion performed will depend on the execution-time type of the