C# 为 ++ 生成了 IL运算符 - 前缀/后缀表示法何时以及为何更快
由于这个问题是关于增量运算符和前缀/后缀表示法的速度差异,我将非常仔细地描述这个问题,以免 Eric Lippert 发现它并激怒我! (有关我询问原因的更…
使用 Mono.Cecil 从 ByReferenceType 获取通用参数
我有一个获取参数的方法,例如: public void Foo(ref Action<string> bar) 使用 Cecil 枚举参数会产生 ByReferenceType。调用 GetElementType() …
如何在 C# 中生成新类型
我真的想在运行时生成一个新类型。本质上,我想创建看起来像这样的类型: public class MySpecial123 { public Func<int, DateTime, int> salesVe…
由 .maxstack 1 分配的 1 个堆栈的大小
当我说 .maxstack 1 时,它是如何工作的?我可以将任何数据类型压入堆栈吗?它如何决定堆栈的大小。是提前完成还是在运行时完成? 编辑1:即使我只将…
IL:ldfld 与 ldflda
我正在使用 Mono.Cecil 编写一个小型 IL 编织应用程序,这需要我在 IL 级别操作目标程序集。 我的问题很简单,但我还是觉得这件事很令人困惑。 ldfld …
MSIL 中的 [opt] 是什么意思?
我发现 C# 4.0 中的“可选参数”功能非常有趣,因此我试图弄清楚它们是如何实现的。 所以我写了一个这样的方法: private static void A(int a = 5) {…
“代码即数据”在哪里?在 DLR 表达中?
我有这个 C# 代码: Console.Writeline("Hello World") 如果我想使用 DLR 表达式执行此操作,它看起来像这样: MethodInfo method = typeof(Console).…
Silverlight 和 Windows Phone 7 支持模块初始值设定项吗?
如果您愿意操作 IL .net 支持模块初始值设定项 http ://blogs.msdn.com/b/junfeng/archive/2005/11/19/494914.aspx http://tech.einaregilsson.com/20…
动态 IL 方法会导致“操作可能会破坏运行时的稳定性”
系统安全性验证异常: 操作可能会破坏稳定 运行时。 在Connance.CommunicatorApi.ReportApiClient.AcknowledgeRecallsAsyncDynamicHandler(对象 、A…
Mono.Cecil:调用基类'来自其他程序集的方法
如何按名称获取对基类方法的 MethodReference? 我已经尝试过了 type.BaseType.Resolve().Methods ,如果我将包含基类的 dll 添加到 assemblyresolver…
如何在运行时将 IL 注入到方法中
标题或多或少说明了一切。基于这篇文章,我想出了这个: public static unsafe void Replace(this MethodBase destination, MethodBase source) { Int…
局部变量初始化为 null 会影响性能吗?
让我们比较两段代码: String str = null //Possibly do something... str = "Test" Console.WriteLine(str) 我 String str //Possibly do something.…