【问题标题】:How to set variable after get it's value获取变量值后如何设置变量
【发布时间】:2016-10-21 09:08:51
【问题描述】:

我想在得到它的值后将 IsStringBuilderWritten 设置为 false。但我想不通。

IsStringBuilderWritten 必须为 false 才能使用 StringBuilder,但我不知道如何设置它的值,因此我只能使用 StringBuilder 一次。我该如何解决这个问题?

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);
        }
    }
}

【问题讨论】:

    标签: c# variables set


    【解决方案1】:

    也许这会奏效。我添加了一个临时变量来放置 _isStringBuilderWritten 的值,然后将其值设置为 false。然后返回温度。

    public bool IsStringBuilderWritten
            {
                get { 
                     bool temp = _isStringBuilderWritten;
                     _isStringBuilderWritten = false;
                     return temp; 
                    }
                set { _isStringBuilderWritten = value; 
                      if (IsStringBuilderWritten) { OnstringBuilderWritten(); } 
                    }
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多