程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 為什麼C#的StreamWriter.Close()會引起windows平台上的關閉程序的問題?

為什麼C#的StreamWriter.Close()會引起windows平台上的關閉程序的問題?

編輯:C#入門知識

我用c#時寫了一個類用來保存日志,大概的做法是:

[csharp]
// write logs to file 
    public class LogInfo 
    { 
        static public LogInfo getInstance() { 
            if (pLogInfo == null) 
                pLogInfo = new LogInfo(); 
 
            return pLogInfo; 
        } 
 
        private LogInfo() 
        { 
            iLine = 0; 
            logFile = new StreamWriter(@"Gobang.log", true); 
            logFile.AutoFlush = true; 
        } 
 
        ~LogInfo() 
        { 
            // why this operation can cause something that Windows regards as a problem? 
            logFile.Close(); 
        } 
 
        public void WriteLog(string strInfo) 
        { 
            logFile.WriteLine(iLine + " " + strInfo); 
            iLine++; 
        } 
        public void WriteLogFlush(string strInfo) 
        { 
            WriteLog(strInfo); 
        } 
 
        private static int iLine; 
        private StreamWriter logFile; 
 
        static private LogInfo pLogInfo; 
    } 

因為在析構時關閉StreamWriter的操作,每次在關閉該windows form的程序時windows都提示該程序正在關閉,並且調用“find a solution to the problem..."的處理機制。有人知道是為什麼嗎?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved