.NET Framework源代码中缺少方法

Jam*_*rer 1 .net c#

我今天早上一直在浏览.NET Framework源代码,因为我只想检查Dipose()数据库连接的行为.

但是,查看SqlConnection的.NET Framework源代码(+我已经下载了它),没有Dispose()定义方法SqlConnection.

但是,使用dotPeek,我可以Dispose()在SqlConnection上看到一个实现

我错过了什么?

小智 5

所有你真正缺少的是SqlConnection.cs定义SqlConnection为a partial class.这意味着其他文件可以定义成员函数,包括Dispose().它是定义Dispose()成员函数的其他文件之一.

看看DbConnectionHelper.cs.这CONNECTIONOBJECTNAME在命名空间中定义了一个类NAMESPACE.这些将在构建时被正确的类名和命名空间名替换,这允许多个DbConnection派生的类共享Dispose()实现.