一尘不染

编程中托管或非托管代码是什么?

c#

我在C#代码中使用了特定的命令,效果很好。但是,据说在“非托管”代码中行为不当。

什么是托管或非托管代码?


阅读 459

收藏
2020-05-19

共1个答案

一尘不染

这是MSDN上有关非托管代码的一些文字。

一些库代码需要调用非托管代码(例如,本机代码API,例如Win32)。因为这意味着超出托管代码的安全范围,所以需要格外小心。

这是有关托管代码的其他一些补充说明:

  • 由CLR执行的代码。
  • 面向公共语言运行库的代码(.NET Framework的基础)被称为托管代码。
  • 托管代码提供了CLR提供服务所必需的元数据,这些服务包括内存管理,跨语言集成,代码访问安全性以及对象的自动生命周期控制。所有基于IL的代码都将作为托管代码执行。
  • 在CLI执行环境下执行的代码。

对于您的问题:

我认为这是因为NUnit为UnitTesting执行您的代码,并且其中的某些部分可能不受管理。但是我不确定,所以不要拿它当黄金。我相信有人可以为您提供更多信息。希望能帮助到你!

2020-05-19