Возможно ли получить MSIL делегата C #? - PullRequest
3 голосов
/ 02 апреля 2009

Просто из любопытства ... возможно ли программно получить MSIL делегата? Мне любопытно, потому что я играю над идеей распределенной вычислительной системы, где вы можете просто писать программы, а сама программа будет распределяться по каждому разрозненному узлу, где будет выполняться работа. Я знаю, что вы могли бы сделать это, скопировав фактическую сборку по сети и загрузив ее в домен приложения, но я думаю, что было бы очень интересно иметь более простую модель для работы.

спасибо!

Ответы [ 3 ]

4 голосов
/ 02 апреля 2009

Как копировать сборку на другую машину и загружать ее в домен приложения сложнее, чем решение, о котором вы думаете?

1 голос
/ 02 апреля 2009

Как насчет зависимостей кода делегата - возможно, это может работать с использованием emit отражения CodeDom, но если делегат вызывает что-либо вне себя (даже код платформы), как вы собираетесь убедиться, что оно существует на целевой машине (ях)? )? Много кода Assembly.Load ()?

Кстати: если вы построите динамически изменяющуюся распределенную систему по этим направлениям, вы не заставите меня поддерживать или эксплуатировать ее! Представьте себе, что вы делаете изоляцию неисправностей или пытаетесь сделать что-то вроде всестороннего тестирования ...

0 голосов
/ 02 апреля 2009

Вы можете использовать либо Reflector , либо ILDASM (дизассемблер MSIL) , чтобы получить IL любого элемента в любой сборке .NET.

...