可以获取 C# 委托的 MSIL 吗?

发布于 2024-07-16 05:10:22 字数 177 浏览 6 评论 0原文

只是出于好奇......是否可以通过编程方式获取委托的 MSIL? 我很好奇,因为我一直在考虑分布式计算系统的想法,您可以在其中简单地编写程序,并且程序本身将分布到发生工作的每个不同节点。 我知道您可以通过通过网络复制实际的程序集并将其加载到应用程序域中来完成此操作,但我认为使用更简单的模型会非常有趣。

谢谢!

Just out of curiosity ... is it possible to programmatically get the MSIL of a delegate? I'm curious because I've been toying with the idea of a distributed computing system where you can simply write programs, and the program itself would be distributed to each disparate node where work would occur. I know you could do it by copying the actual assembly over the network and loading that in an appdomain, but I think it would be really interesting to have a simpler model to work with.

thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

望喜 2024-07-23 05:10:22

将程序集复制到另一台计算机并将其加载到应用程序域中比您正在考虑的解决方案更复杂吗?

How is copying an assembly to another machine and loading it in an appdomain any more complex than the solution you're thinking of?

冷情妓 2024-07-23 05:10:22

委托代码的依赖关系怎么样——这可能可以使用 CodeDom 反射发出来工作,但是如果委托调用其自身之外的任何内容(甚至是框架代码),您将如何确保它存在于目标计算机上? 大量 Assembly.Load() 代码?

顺便说一句:如果你按照这些思路构建一个动态变化的分布式系统,你不会让我维护或操作它! 想象一下进行故障隔离或尝试进行诸如综合测试之类的事情......

What about the dependencies of the delegate code -- this might possibly work using CodeDom reflection emit, but if the delegate calls anything outside itself (even framework code), how are you going to ensure it exists on the target machine(s)? Lots of Assembly.Load() code?

By the way: if you build a dynamically changing distributed system along these lines, you ain't gonna get me to maintain or operate it! Imagine doing fault isolation or trying to do anything like comprehensive testing...

疏忽 2024-07-23 05:10:22

您可以使用 ReflectorILDASM(MSIL 反汇编程序) 获取任何 .NET 程序集中任何成员的 IL。

You can use either Reflector or ILDASM (MSIL Disassembler) to get the IL of any member in any .NET assembly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文