例として、このコードを簡略化しました。
class TextLogger : IDisposable
{
private FileStream m_FileStream;
private StreamWriter m_StreamWriter;
void CreateNewLogFile()
{
//Open the File
m_FileStream = File.Open(
m_CurrentFileName,
FileMode.OpenOrCreate,
FileAccess.Write,
FileShare.Read );
m_StreamWriter = new StreamWriter( m_FileStream );
....
}
}
別のスレッドによって既に破棄されており、null (も null)InvalidArgumentException
であるため、StreamWriter を新しくしようとすると、エラーが発生します。メンバー変数をロックするにはどうすればよいですか?m_FileStream
m_StreamWriter