當使用DynamicMethod的它可以調用方法和訪問字段如果您在DynamicMethod constructor使用MethodBuilder生成動態IL時,是否可以跳過可見性檢查?
的restrictedSkipVisibility參數提供「真」,這將是其他方式不可訪問產生IL我寧願發出的動態IL成動態組裝相反,我可以在生成時將生成的IL保存到程序集中。如果我使用這種方法,我必須使用MethodBuilder而不是DynamicMethod。不過,我需要能夠跳過可見性檢查,以便在運行動態代碼時不會出現MethodAccessException。有沒有辦法做到這一點,如果是的話如何?
問題解決了嗎?你能簡單描述一下你是如何解決它的? – kizzx2 2011-05-04 09:49:42
不可以。據我所知,它是不可解的。通過使用Mono.Cecil庫重新編寫程序集,我最終採用了另一種解決方案。這樣我就可以訪問私人或內部成員而不違反類型安全規則。但是,用這種方法,我無法使符號與源文件正確匹配,導致其他煩惱。 – 2011-05-10 20:27:20