为什么IDataReader类可以用c#而不是c ++实现?

时间:2017-03-21 18:16:38

标签: c#

我在很多文章中都读到过像SqlConnecion,DataReader等数据库连接对象使用C ++实现的类,并且是非托管代码类型,这使得它们可以手动处理。

那么为什么不能在c#本身中完成这些类的实现,以便它们由CLR管理,或者我们有什么理由可以用c#实现这个?

1 个答案:

答案 0 :(得分:1)

.NET基本上用({1}}和SqlConnecion等.NET类包装(部分)本机Win32 API,这样可以更容易地使用这些API:s而不必自己编写非托管代码。当然,某些地方仍然存在一些非托管代码,例如可以访问文件系统。 CLR本身未在C#中实现。