C# .NET Framework源代码中缺少方法
今天早上我一直在浏览.NET Framework源代码,因为我只是想检查C# .NET Framework源代码中缺少方法,c#,.net,C#,.net,今天早上我一直在浏览.NET Framework源代码,因为我只是想检查Dipose()在数据库连接上的行为 但是,查看SqlConnection的.NET Framework源代码(+我也下载了它),在SqlConnection中没有定义任何方法Dispose() 但是,使用dotPeek,我可以在SqlConnection上看到Dispose()的实现 我缺少什么?似乎Dispose()方法在SqlConnection中没有特定的实现,只是继承了 您可以检查以确认这一点。似乎Dispose(
Dipose()
在数据库连接上的行为
但是,查看SqlConnection的.NET Framework源代码(+我也下载了它),在SqlConnection
中没有定义任何方法Dispose()
但是,使用dotPeek,我可以在SqlConnection上看到Dispose()
的实现
我缺少什么?似乎
Dispose()
方法在SqlConnection
中没有特定的实现,只是继承了
您可以检查以确认这一点。似乎
Dispose()
方法在SqlConnection
中没有特定的实现,只是从继承
您可以检查以确认这一点。只有实现IDisposable接口的类才能具有Dispose(除非您自己编写)方法 SqlConnection类具有Dispose方法,因为它是inherit的组件 资料来源:
您可以找到有关IDisposable接口的更多信息只有实现IDisposable接口的类才能使用Dispose(除非您自己编写)方法 SqlConnection类具有Dispose方法,因为它是inherit的组件 资料来源:
您可以找到有关IDisposable接口的更多信息您真正缺少的是将
SqlConnection
定义为部分类的接口。这意味着其他文件可以定义成员函数,包括Dispose()
。它是定义Dispose()
成员函数的其他文件之一
看一看。这在名称空间名称空间中定义了一个类CONNECTIONOBJECTNAME
。这些将在构建时被正确的类名和命名空间名替换,这允许多个DbConnection
-派生类共享Dispose()
实现。您真正缺少的是将SqlConnection
定义为部分类。这意味着其他文件可以定义成员函数,包括Dispose()
。它是定义Dispose()
成员函数的其他文件之一
看一看。这在名称空间名称空间中定义了一个类CONNECTIONOBJECTNAME
。这些将在构建时被正确的类名和命名空间名替换,这允许多个DbConnection
派生类共享Dispose()
实现。在哪里可以看到在Dispose方法中不执行任何操作的SqlConnection?很难猜到您在看什么,但它不可能是Dispose()方法。该类不重新实现IDisposable,它依赖于从基类继承的一次性模式。相反请记住,System.Data的引用源不完整,部分引用源是用C++/CLI编写的,而C++/CLI不包括在内。@Steve您在该文件中看到了Dispose()
的定义在哪里?它只包含一个DisposeMe()
helper方法,但不包含Dispose()
方法。(它确实包含SqlDebugContext.Dispose()
,但不包含SqlConnection.Dispose()
)在哪里可以看到在Dispose方法中不执行任何操作的SqlConnection?很难猜到您在看什么,但它不可能是Dispose()方法。该类不重新实现IDisposable,它依赖于从基类继承的一次性模式。相反请记住,System.Data的引用源不完整,部分引用源是用C++/CLI编写的,而C++/CLI不包括在内。@Steve您在该文件中看到了Dispose()
的定义在哪里?它只包含一个DisposeMe()
helper方法,但不包含Dispose()
方法。(它确实包含SqlDebugContext.Dispose()
,但不包含SqlConnection.Dispose()
)谢谢。我发现它是局部的,但as找不到另一个定义,假设没有。没有考虑在构建时生成它们的选项。谢谢。我发现它是局部的,但as找不到另一个定义,假设没有。没有考虑在构建时生成它们的选项。