按X键关闭时处理

时间:2015-12-04 12:02:19

标签: c# idisposable

我正在努力确保通过实施IDisposable来解决我的课程问题。但是我发现如果我通过按X关闭控制台,则不会调用dispose方法。如何确保在此实例中调用它?

using System;
using System.IO;

namespace Testing
{
    public class Disposable : IDisposable
    {
        private StreamWriter output = File.CreateText(@"test.txt");

        public Disposable()
        {
            output.WriteLine("Created!");
        }

        public void Dispose()
        {
            output.WriteLine("Disposed!");
            output.Dispose();
        }
    }

    static class Program
    {
        static void Main(string[] args)
        {
            using (new Disposable())
            {
                Console.ReadLine();
            }
        }
    }
}

您可以使用上述方法测试此行为。如果您执行程序并按任意键,程序将正常终止,文件将包含:

Created!
Disposed!

但是,如果执行程序并通过按X关闭控制台,则文件将为空,因为流不会被处理和/或刷新。

0 个答案:

没有答案