Можно ли в своем приложении получить исходный код функции
От: Alexander_fx  
Дата: 10.09.11 10:32
Оценка:
привет
можно ли в момент исполнения программы получить исходный код некоторой функции своего приложения?
Re: Можно ли в своем приложении получить исходный код функци
От: perekrestov Украина  
Дата: 10.09.11 10:52
Оценка:
Здравствуйте, Alexander_fx, Вы писали:

A_>привет

A_>можно ли в момент исполнения программы получить исходный код некоторой функции своего приложения?
Ну, если ф-цию выразить в виде Expression....
Re[2]: Можно ли в своем приложении получить исходный код фун
От: Alexander_fx  
Дата: 10.09.11 16:17
Оценка:
Здравствуйте, perekrestov, Вы писали:

P>Здравствуйте, Alexander_fx, Вы писали:


A_>>привет

A_>>можно ли в момент исполнения программы получить исходный код некоторой функции своего приложения?
P>Ну, если ф-цию выразить в виде Expression....

а как то еще?
прочитал про Expression но не понял как прикрутить можно

просто есть функция которая меняется каждый день
и программа которая считает по этой функции
фочется програмно документировать какая функция участвовала в расчетах в этот день
код свой — могу внести любые измененеия
Re[3]: Можно ли в своем приложении получить исходный код фун
От: Пельмешко Россия blog
Дата: 10.09.11 17:02
Оценка:
Здравствуйте, Alexander_fx, Вы писали:

A_>просто есть функция которая меняется каждый день

A_>и программа которая считает по этой функции

Функция меняется?? Всмысле, её исходный код?
Re[4]: Можно ли в своем приложении получить исходный код фун
От: Alexander_fx  
Дата: 10.09.11 21:50
Оценка:
Здравствуйте, Пельмешко, Вы писали:

П>Здравствуйте, Alexander_fx, Вы писали:


A_>>просто есть функция которая меняется каждый день

A_>>и программа которая считает по этой функции

П>Функция меняется?? Всмысле, её исходный код?



да — конечно — былабы постоянная то скопипастил кусок кода и все дела
а так сделаеш расчеты — а потом через пару месяцев уже не помниш какая функция была при этих расчетах
вот и хочу сохранять вмесе с результатами исходный код самой функции
но вот как получить ее исходный текст?
сорци программы мои.
Re: Можно ли в своем приложении получить исходный код функци
От: Аноним  
Дата: 11.09.11 11:45
Оценка: :))
Здравствуйте, Alexander_fx, Вы писали:

A_>привет

A_>можно ли в момент исполнения программы получить исходный код некоторой функции своего приложения?

В книжке Албахари (C# in a nutshell) есть очень хороший пример того, как написать маленький дизассемблер. Этот пример вполне можно использовать для того, чтобы по имени переданного метода получить его исходный код.
Re[5]: Можно ли в своем приложении получить исходный код фун
От: TK Лес кывт.рф
Дата: 11.09.11 12:12
Оценка: 1 (1) +2
Здравствуйте, Alexander_fx, Вы писали:

A_>да — конечно — былабы постоянная то скопипастил кусок кода и все дела

A_>а так сделаеш расчеты — а потом через пару месяцев уже не помниш какая функция была при этих расчетах
A_>вот и хочу сохранять вмесе с результатами исходный код самой функции
A_>но вот как получить ее исходный текст?
A_>сорци программы мои.

Такие вещи обычно решаются через системы контроля версий.
Например: каждый чекин автоматически увеличивает версию программы. Версия сохраняется вместе с результатами. Как результат по номеру версии можно в любой момент восстановить исходный код.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Можно ли в своем приложении получить исходный код функци
От: hardcase Пират http://nemerle.org
Дата: 11.09.11 21:37
Оценка: 39 (3)
Здравствуйте, Alexander_fx, Вы писали:

A_>привет

A_>можно ли в момент исполнения программы получить исходный код некоторой функции своего приложения?

Файл с функцией подключить в проект дважды: один раз как обычно — Compile,второй раз как Embedded Resource. В рантайме можно будет взять этот ресурс и приложить к результатам.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[5]: Можно ли в своем приложении получить исходный код фун
От: Аноним  
Дата: 11.09.11 22:27
Оценка:
Здравствуйте, Alexander_fx, Вы писали:

A_>да — конечно — былабы постоянная то скопипастил кусок кода и все дела

A_>а так сделаеш расчеты — а потом через пару месяцев уже не помниш какая функция была при этих расчетах
A_>вот и хочу сохранять вмесе с результатами исходный код самой функции
A_>но вот как получить ее исходный текст?
A_>сорци программы мои.

Файл с функцией включите в ресурсы. В рантайме собирайте сбору из этого файла и выполняйте, одновременно выводите текст функции куда надо.
Re[2]: Можно ли в своем приложении получить исходный код фун
От: Pavel_Agurov Россия  
Дата: 12.09.11 12:28
Оценка:
H>Файл с функцией подключить в проект дважды: один раз как обычно — Compile,второй раз как Embedded Resource. В рантайме можно будет взять этот ресурс и приложить к результатам.

Можно и один раз — только в ресурсы и подсовывать его через ResolveAssembly.
Re[3]: Можно ли в своем приложении получить исходный код фун
От: Alexander_fx  
Дата: 12.09.11 19:54
Оценка:
Здравствуйте, Pavel_Agurov, Вы писали:

H>>Файл с функцией подключить в проект дважды: один раз как обычно — Compile,второй раз как Embedded Resource. В рантайме можно будет взять этот ресурс и приложить к результатам.


P_A>Можно и один раз — только в ресурсы и подсовывать его через ResolveAssembly.



Интересно но функция это часть класса которых много
есть интферфейс — в нем обьявлена функция
доволно часто приходит новый класс с этой функцией и делаются расчеты
а потом хочеться найти код функции = но в него могут внести много изменений хотя класс будет под mtv же именем
вот и надо получить код и сохранить как текст для истории

а разве сутдия не имеет досутпа к линиям кода при дебаге? я собираю проект с полной дебажной информацией — может обявить метку какую либо и в рантайме ставть бряку на метку и получив остановку пройтись по линиям кода
ведь как то дебагер сопоставляет линии кода в момент остановки
Re[4]: Можно ли в своем приложении получить исходный код фун
От: Pavel_Agurov Россия  
Дата: 13.09.11 04:43
Оценка:
A_>Интересно но функция это часть класса которых много
A_>есть интферфейс — в нем обьявлена функция
A_>доволно часто приходит новый класс с этой функцией и делаются расчеты

Ну может тут что-то поможет:

http://sorin.serbans.net/blog/index.php/2010/08/10/how-to-read-pdb-files/
http://www.insidepro.com/kk/258/258r.shtml

Можно конечно просто вызвать
System.Reflection.MethodBase.GetCurrentMethod().GetMethodBody();
но больше чем набора IL-байтиков и списка переменных не получите.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.