繁体   English   中英

如何打印在运行时执行程序的当前代码?

[英]How to print the current code, which executes a program in runtime?

我有一个应用程序(Web服务)。

我想打印一些函数的提示/描述,但不是来自DB,文本文件或其他准备好的上下文,但是来自当前的web服务,它是在实时模式下运行的。

我只想复制它的源代码,然后通过web发布到客户端,以便在实时/运行时显示真正的函数定义。 重要的是让他随时可以查看新的变化,而不是依赖于以前需要的准备上下文提示。

有什么建议吗?

我知道,CLR元数据很容易拆解,可能有一种方法可以实现我的目标,你怎么看?

您无法访问正在执行的函数的代码 ,但我怀疑您实际上需要函数本身的代码 ,而是需要函数的定义

为此,您可以使用StackTrace类,它在运行时提供有关StackTrace信息。

这个未来只能通过在仅构建程序集之后使用属性嵌入类和方法来实现。 逻辑是:

  1. 构建你的程序集
  2. 在post-build执行实用程序中:
    1. 获取作为参数的汇编和源代码的路径
    2. 在源代码文件中查找方法和类的定义
    3. 使用像PostSharp这样的somesthing会为程序集的每个方法和类添加属性(属性将包含方法或类代码)
  3. 在运行时服务将找到此属性值,并将根据需要使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM