|
1
5
NET泛型实现可以轻松地处理这样的场景,并且具有非常好的性能。我写了一封信 blog post 关于这件事。 查找有关CLR如何实现泛型的信息的最佳资源之一是 paper 米科索夫特研究所。 你对vtable的看法是对的。当JIT编译器偶然发现泛型类型时,CLR如何为泛型类型创建可执行代码取决于泛型类型参数。值类型和引用类型的处理方式不同。
以下是上述论文的相关引用:
...
|
|
|
2
0
因此,我猜测泛型类型/方法的每个实现都有自己的vtable,并且代码正在执行“查找泛型实现”,然后在找到的实现上执行“查找vtable重写”。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |