Tag: 编译器bug

这是动态的错误吗?

在generics类上使用dynamic实现动态分派,并且generics类型参数是另一个类上的私有内部类时,运行时绑定程序会引发exception。 例如: using System; public abstract class Dispatcher { public T Call(object foo) { return CallDispatch((dynamic)foo); } protected abstract T CallDispatch(int foo); protected abstract T CallDispatch(string foo); } public class Program { public static void Main() { TypeFinder d = new TypeFinder(); Console.WriteLine(d.Call(0)); Console.WriteLine(d.Call(“”)); } private class TypeFinder : Dispatcher { protected override CallType CallDispatch(int […]