我在很多文章中都读到过像SqlConnecion,DataReader等数据库连接对象使用C ++实现的类,并且是非托管代码类型,这使得它们可以手动处理。
那么为什么不能在c#本身中完成这些类的实现,以便它们由CLR管理,或者我们有什么理由可以用c#实现这个?
答案 0 :(得分:1)
.NET基本上用({1}}和SqlConnecion
等.NET类包装(部分)本机Win32 API,这样可以更容易地使用这些API:s而不必自己编写非托管代码。当然,某些地方仍然存在一些非托管代码,例如可以访问文件系统。 CLR本身未在C#中实现。