DataTable
унаследовано от класса MarshalByValueComponent
, который реализует интерфейс IDisposable
(см. Ниже), C # позволяет вызывать открытые методы базового класса для экземпляров производных классов.
public class DataTable : MarshalByValueComponent,
IListSource, ISupportInitializeNotification,
ISupportInitialize, ISerializable, IXmlSerializable
public class MarshalByValueComponent :
IComponent, IDisposable, IServiceProvider
Ваш кодовый блок будетбыть представленным под капотом, как показано ниже, поэтому он гарантирует, что будет вызван метод Dispose ():
{
DataTable dt = Admin_User_Functions.Admin_KitItems_GetItems()
try
{
// .. code inside using statement
}
finally
{
if (dt != null)
((IDisposable)dt).Dispose();
}
}
См. MSDN для получения более подробной информации: using Statement