C# DynamicILInfo.getToken(MethodHandle,RuntimeTypeHandle)不适用于vararg方法调用
考虑以下代码:C# DynamicILInfo.getToken(MethodHandle,RuntimeTypeHandle)不适用于vararg方法调用,c#,.net,clr,dynamicmethod,dynamic-method,C#,.net,Clr,Dynamicmethod,Dynamic Method,考虑以下代码: static public void TestMethodVarArgs(__arglist) { ArgIterator iterator = new ArgIterator(__arglist); Console.WriteLine(iterator.GetRemainingCount()); } static void Main(string[] args) { TestMethodV
static public void TestMethodVarArgs(__arglist)
{
ArgIterator iterator = new ArgIterator(__arglist);
Console.WriteLine(iterator.GetRemainingCount());
}
static void Main(string[] args)
{
TestMethodVarArgs(__arglist(2, "asas", 55.0));
}
在上面的代码中,DynamicILInfo.GetTokenForMethodHandle、RuntimeTypeHandle似乎不适用于vararg方法调用TestMethodVarArgs。如果我执行动态方法,它会使JIT编译器遇到内部限制异常
这是虫子吗?限制有办法解决这个问题吗?您能告诉我们调用GetToken的代码吗?还有,你为什么还要用vararg?使用params object[]args不是比使用编译器的未记录功能更好吗?@svick-代码非常复杂,因此我无法将其作为复制案例进行隔离。另外,我知道params,但这个问题是varargs:-