内联 MSIL/CIL

2024-02-22

我创建了以下简单方法:

public static void Main () {
    Console.WriteLine("Hello world!");
    Console.ReadKey(true);
}

然后我使用ILSpy获取MSIL代码:

.method public hidebysig static void Main() cil managed {
    .entrypoint
    .maxstack  8
    nop
    ldstr "Hello world!"
    call void [mscorlib]System.Console::WriteLine(string)
    nop
    ldc.i4.1
    call valuetype [mscorlib]System.ConsoleKeyInfo [mscorlib]System.Console::ReadKey(bool)
    pop
    ret
}

最后我尝试使用以下命令将 MSIL 代码写入我的 C# 代码中#if IL我发现的窍门here http://www.codeproject.com/Articles/438868/Inline-MSIL-in-Csharp-VB-NET-and-Generic-Pointers.

public static void Main () {
    #if IL
        nop
        ldstr "Hello world!"
        call void [mscorlib]System.Console::WriteLine(string)
        nop
        ldc.i4.1
        call valuetype [mscorlib]System.ConsoleKeyInfo [mscorlib]System.Console::ReadKey(bool)
        pop
        ret
    #else
        Console.WriteLine("Hello world!");
        Console.ReadKey(true);
    #endif
}

我在有或没有的情况下尝试了这个技巧nops 以及有和没有#else,但 Visual Studio 从未编译过 MSIL 代码。我的错误在哪里或者是否有其他方法(如果有方法)将 MSIL 代码写入 C# 代码?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内联 MSIL/CIL 的相关文章

随机推荐

  • Volley 禁用一个请求的缓存

    我想对我的所有请求使用默认的 volley 缓存策略除了一个 这可能吗 我希望每次调用此请求时都能得到互联网的响应 提前致谢 这会起作用 request setShouldCache false
  • findAll() HQL 不返回 grails 中的分页列表

    我正在开发一个 grails 应用程序 在此我必须在 list gsp 上应用过滤器框 当我使用以下查询 在我的服务中 进行过滤时 我得到分页列表 def clientCriteria TripOrder createCriteria de
  • 是否可以根据类名在没有 JavaScript 的情况下更改悬停时的多个元素外观?

    我有一个结构div在里面divs 类似 div div div class a Hello div div class a Stack div div Overflow div div div div You div div class b
  • 是否可以将 JSON 私钥转换为 PKCS12 格式?

    我正在使用 PHP 的 Google Cloud Storage 服务 我有一个APPLICATION GOOGLE CLIENT KEY FILEJSON 格式 我的问题是我们可以将 JSON 私钥转换为 PKCS12 格式吗 如果是的话
  • Maven 构建配置文件激活

    我知道有一些相关的主题 但我仍然不明白该怎么做 我正在学习 Maven 目前正在创建构建配置文件 我希望 Maven 自动检测我的机器上当前安装的 java 版本 假设我在我们的办公室工作 使用 jdk7 或家 jdk8 我想要
  • 捆绑包无效负载原因:0x80070570

    维克斯 3 6 我正在尝试运行捆绑包
  • Python将列表重塑为ndim数组

    您好 我有一个长度为 2800 的平面列表 它包含 28 个变量中每个变量的 100 个结果 下面是 2 个变量的 4 个结果的示例 0 0 1 1 2 2 3 3 我想将列表重塑为数组 2 4 以便每个变量的结果都在单个元素中 0 1 2
  • 是否可以在 postgresql 命令中引用环境变量?

    例如 假设我想从运行 postgres 服务器的同一台计算机上的路径导入 CSV 文件 有一个环境变量MyPath在系统上设置为 path to my csv file 我可以轻松导入此 CSV 文件 如下所示 COPY MyTable F
  • Python 中 *tuple 和 **dict 是什么意思? [复制]

    这个问题在这里已经有答案了 正如 PythonCookbook 中提到的 可以添加在元组之前 什么是 意思是这里 第 1 18 章 将名称映射到序列元素 from collections import namedtuple Stock na
  • Weblogic 12c (12.1.3) - 字符串索引超出范围:51968

    我正在尝试部署一个Spring BootWeblogic 12 1 3 上的 Web 应用程序 当我从控制台部署时 我收到以下错误 在应用程序上 Message icon Error Unable to access the selecte
  • 如何区分页面刷新和关闭页面

    我有一个网络应用游戏 在游戏中我想拥有它 这样如果用户关闭页面或浏览器 它会自动注销 我尝试使用附加到窗口的 onbeforeunload 事件 window onbeforeunload function perform logout f
  • WCF / WebService充当MQ消息的侦听器?

    也许我找错了方向 但我有一组服务 WebAPI 和 WCF 它们使用 WebSphere MQ 与其他系统交互 这没有问题 直到我现在需要找到一种方法listening对于队列之一上的消息 这是否可能 或者我是否需要走 Windows 服务
  • Retrofit 2.0:无法为类创建调用适配器

    我正在使用 Retrofit 2 0 beta1 如何发出简单的同步请求并将 JSON 响应反序列化为 POJO 列表 这是我的界面 public interface ArticlesAPI GET articles List
  • Python递归挑战[已关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我目前正在上Python和计算理论入门课 最近期中考试中有一道难题我根本无法解决 它涉及为添加数字的程序编写代码 我相信这个问题应该使
  • 通过 api 访问 Wikimedia Commons 上的版权信息

    我想使用 MediaWiki API 来获取图像的版权信息 当您单击维基百科中的图像时 将打开包含该图像的页面 其中包含 更多详细信息 按钮 单击此按钮 您将进入一个包含 在网络上使用此文件 链接的页面 单击此链接 运行脚本 stockPh
  • C# 中析构函数有必要吗?

    我有一个担忧 我是计算机科学专业的一年级学生 通常我在课堂上很好奇 但老师并不总是有答案 或者并不总是知道答案 C 中析构函数有必要吗 我的意思是 如果我必须像通常对构造函数那样实现析构函数方法 这是一个好的做法还是我可以避免它并且垃圾收集
  • macOS 钥匙串 ACL 如何确定哪些应用程序具有访问权限?

    当应用程序将项目保存到钥匙串时 macOS 会将该应用程序添加到访问控制列表中 以便您的应用程序稍后可以访问它 如果您尝试从其他应用程序访问该项目 macOS 将显示系统提示 询问用户是否允许访问 这是有记录的here https deve
  • sockaddr_in 未声明的标识符

    我正在遵循 beej 的网络指南 进展非常顺利 因为我对一切都很了解 而且他解释得很好 然而 当我想测试他向我展示的一些很酷的东西时 这是行不通的 我不确定 sockaddr in 到底在哪里声明 但也许这里有人会帮助我 这是我到目前为止所
  • Office 文档提示登录匿名 SharePoint 网站

    我有一个配置为匿名访问的 MOSS 07 站点 该站点内有一个文档库 也启用了匿名访问 当匿名用户单击该库中的 PDF 文件时 他或她可以毫无问题地阅读或下载该文件 当用户单击 Office 文档时 系统会提示他或她登录框 用户可以在不登录
  • 内联 MSIL/CIL

    我创建了以下简单方法 public static void Main Console WriteLine Hello world Console ReadKey true 然后我使用ILSpy获取MSIL代码 method public h