【发布时间】:2015-04-30 07:49:49
【问题描述】:
我有以下课程:
public class MyGenericArray<T>
{
private T[] array;
public MyGenericArray(int size)
{
array = new T[size + 1];
}
public T getItem(int index)
{
var in2 = index + 1;
in2 = index - in2;
index = index + 1 - in2 - 1;
return array[index];
}
}
我使用dnlib 在 cil 代码级别进行一些更改。
在getItem()方法里面,我想得到this参数的类类型ldarg.0。
我正在查看 param.Type where
param = ((Parameter)_instruction.Operand);
我已经搜索了所有可用的字段,但找不到。 其实我得到的是
ConsoleCalculator.BasicTests/MyGenericArray`1
我希望找到
ConsoleCalculator.BasicTests/MyGenericArray`1<!T>
我不明白为什么<!T> 不见了。
对于字段private T[] array;,类显示正确,<!T> 在末尾。
【问题讨论】: