关于 C# 编译器如何发出 TypeRef 信息的问题
当我尝试 C# 4.0 中的新功能“可选参数”时,我发现了这个有趣的事情。 我知道在 C# 4.0 中有两种使用“可选参数”的方法: static void TestMethod(i…
.NET 接口上的静态构造函数未运行
您可以在 IL 中的 .NET 接口上定义静态构造函数。但是,如果这样做,当您在接口上运行方法时,静态构造函数不会运行: .method public static void Ma…
.NET IL 属性设置器
考虑这个类: public class Foo { // Fields private string _bar // Properties private string Bar { get { return this._bar } set { this._bar = …
C# DLL 到 .il,到 C++ DLL:字符串问题
我正在尝试从 C# 导出一些功能,以便可以在我的非托管 C++ 应用程序中使用它。在我的测试项目中,我首先创建一个 C# DLL,其中包含一个简单的函数来将…
从程序集中提取特定 IL(.NET 中间语言)签名的机制
我在 Microsoft .NET 程序集 mscorlib.dll 中找到了大约 25 种类型的列表,我需要在其中提取类及其成员的 IL 签名。我想要每种类型一个文件,每个签名…
如何在订阅事件时传递值并在事件触发时获取(DynamicMethod使用问题)
任务是在运行时创建事件处理程序。我需要针对不同的事件使用不同的参数值调用一种方法。事件及其数量仅在运行时已知。因此,我尝试生成动态方法,每个…
CLR 级别的强制转换实际上是如何工作的?
当进行向上或向下的拍摄时,幕后到底发生了什么?我的想法是,当执行以下操作时: string myString = "abc" object myObject = myString string myStr…
Mono.Cecil 可以修改 AppDomain 中已加载的代码吗?
我想在运行时向某个类添加一些行为。我知道如何在运行时使用 Reflection.Emit 进行子类化,但这还不够。根据某些外部配置,我需要在类型 T 的方法中注…