Chciałbym emitować metodę, która ma zmienną, co mogę zrobić. Ale chciałbym zapisać w tej zmiennej obiekt MethodInfo, który jest referencją do innej (nie emitowanej) metody.Jak emitować metodę ze wstępnie załadowaną zmienną lokalną MethodInfo?
Mogłem emitować opkody, aby wywołać typeof (someClass) .GetMethod (...), ale byłoby bardziej wydajne, gdybym mógł po prostu załadować token dla tej MethodInfo i piec go bezpośrednio do zmiennej.
Tak więc, w celu przeformułowania, próbuję ustalić, czy możliwe jest jej wyemitowanie, powiedzmy, kod operacji ładowania obiektu i przekazać obiekt w czasie emisji, który zostanie załadowany na stos w czasie wykonywania. (OpCodes.Ldobj dał jakiś błąd, gdy próbowałem tego). Czy jestem zmuszony do wysyłania opkodów, które wykonają to w czasie wykonywania?
Myślę, że to możliwe. Eric Lippert kiedyś blogował o możliwym informatorze C#, który by to wykorzystał. – usr
Czy możesz podać trochę kontekstu z powodu, aby problem był dla mnie/dla nas bardziej przejrzysty? –
@usr [Artykuł, o którym mówisz] (http://blogs.msdn.com/b/ericlippert/archive/2009/05/21/in-foof-we-trust-a-dialogue.aspx) jest o składniowych problemach 'infoof', a nie o tym, jak można to zaimplementować. – svick