0
値を取得した後でIsStringBuilderWrittenをfalseに設定したいとします。しかし、私はそれを把握することはできません。値を取得した後に変数を設定する方法
StringBuilderを使用するにはIsStringBuilderWrittenをfalseにする必要がありますが、値の設定方法がわかりません。したがって、StringBuilderを1回だけ使用できます。どうすればこの問題を解決できますか?
class FileWhatcher : IDisposable
{
public event System.EventHandler StringBuilderWritten;
protected virtual void OnstringBuilderWritten()
{
StringBuilderWritten?.Invoke(this, EventArgs.Empty);
}
private bool _isStringBuilderWritten;
public bool IsStringBuilderWritten
{
get { return _isStringBuilderWritten; }
set { _isStringBuilderWritten = value;
if (IsStringBuilderWritten) { OnstringBuilderWritten(); }
}
}
}
と私はそれを使用します。たぶんこれがうまくいく
public partial class Form1 : Form
{
private FileWhatcher fw = new FileWhatcher();
private List<StringBuilder> watchedInformation;
public Form1()
{
InitializeComponent();
watchedInformation = new List<StringBuilder>();
fw.Start("F:\\slayt");
fw.StringBuilderWritten += new System.EventHandler(delegate (object sender, EventArgs args)
{
HandleComeNewWatch();
});
}
private void HandleComeNewWatch()
{
if (fw.IsStringBuilderWritten)
{
watchedInformation.Add(fw.stringbuilder);
}
}
}