Birisi bana, yansıma.emit aracılığıyla işlev çağrısı yapmadan önce yığında neyin yüklenmesi gerektiğini açıklayabilir mi? Yansıma yayma yığını ve yöntem çağrısı
Ben çok basit bir yöntemini Dinamik şu sınıfta yöntemi oluşturmak istiyorumpublic static void Execute(string 1, string 2)
(Onları dizildi var, geri kalanını unutmak)
public class Test{
public string s1;
public void Run(string s2)
{
MyOtherClass.Execute(s2,s1)
}
}
Bende bir kopyası var olması Yukarıdaki testin referansı için, ve "çağrı" dan önce aşağıdaki op kodları yayınlandığını fark ettim.
- ldarg_1
- ldarg_0
- ldfld
soru ldarg_0 orada ne yaptığını nedir? Arama için sadece 2 argümana ihtiyacım var, neden CLR ldarg_0'ın yığına itilmesini gerektiriyor?
Çevreleyen IL'yi sağlayabilir misiniz? –