|
|
1
2
延迟绑定不会像您认为的那样发生;编译器将调用绑定到
如果您愿意,可以在这里使用反射。这样的解决方案看起来像:
|
|
|
2
3
多态性不适用于方法调用的参数。一种方法,您可以使用它来检查obj的类型,将其强制转换为特定的类型,然后调用适当的重载。
|
|
|
3
2
您应该遵循的模型是.NET转换类中的模型,您没有理由使构造函数成为泛型,它不会给表带来任何影响。将转换例程更改为静态方法,将类本身更改为静态:
然后,当调用其中一个转换方法时,编译器将选择要调用的适当重载:
编辑 : 如果您执行以下操作:
它不会工作,因为编译器不知道匹配重载的类型。你必须把它铸造出来,它会起作用:
|
|
|
4
1
这是因为编译器不知道
简单例子:
请注意,实际上我手头没有编译器,这可能不是逐字编译,而是足够接近。 |