static void Main(string[] args) { Debug.WriteLine("***** Fun with Dispose *****\n"); // Создание высвобождаемого объекта и вызов метода // Dispose () для освобождения любых внутренних ресурсов. MyResourceWrapper rw = new MyResourceWrapper(); rw.Dispose(); if (rw is IDisposable) { rw.Dispose(); } try { // Использование членов rw. } finally { // Обеспечение вызова метод Dispose() в любом случае, //в том числе при возникновении ошибки. rw.Dispose(); } // Use a comma-delimited list to declare multiple objects to dispose. using (MyResourceWrapper rw1 = new MyResourceWrapper(), rw2 = new MyResourceWrapper()) { // Use rw and rw2 objects. } }
static void Main(string[] args) { Console.WriteLine("****** Fun with Dispose *****\n"); MyResourceWrapper rw = new MyResourceWrapper(); if (rw is IDisposable) { rw.Dispose(); } DisposeFileSystem(); // метод Dispose() вызывается автоматически при выходе за пределы области действий // допускается объявлять несколько объектов одного и того же типа // при попытке применить using к объекту, не реализующему интерфейс IDisposable // возникнет ошибка на этапе компиляции using (MyResourceWrapper wrapper = new MyResourceWrapper(), wrapper2 = new MyResourceWrapper()) { // использовать объект wrapper и wrapper2 } Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with Dispose *****\n"); MyResourceWrapper rw = new MyResourceWrapper(); rw.Dispose(); Console.ReadLine(); //MyResourceWrapper rw = new MyResourceWrapper(); //if (rw is IDisposable) // rw.Dispose(); //Console.ReadLine(); //MyResourceWrapper rw = new MyResourceWrapper(); //try //{ // // Использование членов rw. //} //finally //{ // // Обеспечение вызова метод Dispose() в любом случае, // //в том числе и при возникновении ошибки. // rw.Dispose(); //} // Use a comma-delimited list to declare multiple objects to dispose. //using (MyResourceWrapper rw = new MyResourceWrapper(), rw2 = new MyResourceWrapper()) //{ // // Use rw and rw2 objects. //} }
static void Main(string[] args) { MyResourceWrapper rw = new MyResourceWrapper(); rw.Dispose(); try { MyResourceWrapper rw1 = new MyResourceWrapper(); } finally { rw.Dispose(); } using (MyResourceWrapper rw2 = new MyResourceWrapper(), rw3 = new MyResourceWrapper()) { } Console.ReadLine(); }
static void UseDispose() { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("=> Disposable"); MyResourceWrapper rw = new MyResourceWrapper(); if (rw is IDisposable) { rw.Dispose(); } }
static void Main(string[] args) { Console.WriteLine("***** Fun with Dispose *****\n"); // Create a disposable object and call Dispose() // to free any internal resources. MyResourceWrapper rw = new MyResourceWrapper(); if (rw is IDisposable) { rw.Dispose(); } Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with IDisposable *****"); MyResourceWrapper rw = new MyResourceWrapper(); if (rw is IDisposable) { rw.Dispose(); } // Dispose() is called automatically when the // using scope exits. using (MyResourceWrapper rw2 = new MyResourceWrapper()) { // Use rw2 object. } Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("**** Fun with dispose ****"); MyResourceWrapper rw = new MyResourceWrapper(); if (rw is IDisposable) { rw.Dispose(); } //OR //using (MyResourceWrapper rw1 = new MyResourceWrapper(), rw2 = new MyResourceWrapper()) //{ // // use rw1 and rw2 //} DisposeFileStream(); Console.ReadLine(); }