我正在嘗試編寫調用Parallel.ForEach的動態方法。我已經檢查了一個樣本類的IL,並且我注意到有一個嵌套類型生成了,名爲<> c__DisplayClass#Reflection.Emit和Parallel.ForEach
我設法創建了Parallel.ForEach的動態實現,但是我的嵌套類是正常類型的。它沒有被列爲<>ç__....
而且我覺得,因爲我生成的代碼看起來有點不同的反射檢查它的時候:
private void SayHello(string name)
{
SayHelloInvoker invoker = new SayHelloInvoker(name);
Parallel.ForEach<ITest>(this, new Action<ITest>(invoker.SayHello));
}
但在反射外觀檢查的編譯代碼像:
private void SayHello(string name)
{
Parallel.ForEach<ITest>(this, delegate (ITest x) { x.SayHello(name)); });
}
當前執行工作得很好,但我還是想找出其中的生成嵌套類型爲<>ç__....
漁獲所以,如果有人能以正確的方式指出我的意思,那麼我可以滿足我的好奇心。 :)
突發奇想,我會說你應該使用與該框架版本的表達樹。 – sehe