首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FileStream是托管代码还是非托管代码?

FileStream是托管代码还是非托管代码?
EN

Stack Overflow用户
提问于 2012-07-20 16:07:07
回答 3查看 1.5K关注 0票数 4

我在一次面试中被问到这个问题,我说答案是有管理的。面试官似乎很惊讶。我的问题是,即使它访问一个文件(本机/非托管资源),但这个类不是托管的吗?或者你认为我应该有一些后续的问题,以获得更多的澄清?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-20 16:12:13

根据ILSpy的说法,FileStream包含大量的托管代码,因此您可能会认为它是托管的。但是,所有文件I/O最终都必须解析为Win32 P/Invoke调用,因此您可能会认为它是非托管代码的包装。这取决于你的定义。

票数 3
EN

Stack Overflow用户

发布于 2012-07-20 16:20:50

通常,由CLR运行的所有代码都被认为是托管的,至少从你的角度来看,在它之外,你有Win32 API,ActiveX,COM对象,这些都是非托管的。

因为FileStream是.Net的一个类,所以它是一个托管类/对象。但是它使用了一些windows资源,因此它没有被管理,并且你必须在使用它之后清除它的对象。。

票数 1
EN

Stack Overflow用户

发布于 2012-07-20 16:09:59

你可以看一下这个问题

What is managed and unmanaged code?

通过以上讨论,我认为它是托管代码,因为您可以通过.NET运行时访问和管理资源

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11575339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档