Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示类的状态_C# - Fatal编程技术网

C# 显示类的状态

C# 显示类的状态,c#,C#,我有一个Windows窗体,它在一个dll中调用两个独立类中的许多方法 在表格中,我希望显示状态更新,即在标签中显示查询的进展情况 如何跟踪dll中两个不同类的方法的状态 谢谢 下面是示例dll代码 public class ClassA { private string ProgressStatus private void SetStatusText(string currentStatus) { progressStatus = currentSt

我有一个Windows窗体,它在一个dll中调用两个独立类中的许多方法

在表格中,我希望显示状态更新,即在标签中显示查询的进展情况

如何跟踪dll中两个不同类的方法的状态

谢谢

下面是示例dll代码

public class ClassA
{

    private string ProgressStatus
    private void SetStatusText(string currentStatus)
    {
        progressStatus = currentStatus;
    }

    public void ReportRequest()
    {   
        SetStatusText("Begin Process..."); // update status

  SetStatusText("Getting Dates..."); // update status

        // get dates
  DatesClass myDates = new DatesClass()
        datesOK = myDates.GetDates();

        if (datesOK)
        {
    SetStatusText("Running Request...");
    RunFinalRequest();
        }
    }
}


public internal class ClassB
{

    private string ProgressStatus
    private void SetStatusText(string currentStatus)
    {
        progressStatus = currentStatus;
    }


    public string GetDates()
    {   

    SetStatusText("Loading Dates..."); // update status

          LoadDates();

          return // return sql query value
    }

    private void LoadDates()
    {
    // sql query...
    SetStatusText("Run Query...");
    }
}

听起来你想要一份工作。您将创建两个后台工作类,并让它们运行您的方法。然后,您可以使用
ProgressChanged
事件将进度报告回原始线程。

我认为您需要方法执行的状态,而不是类的状态,因此我在dll的每个类中都有一个BackGroundWorker?请将报告其进度的两个类想象为“工作者”。应用程序中有两个后台工作人员,每个工作人员一个。然后,您的工作人员可以随时报告他们的进度,UI线程将收到进度报告的通知。这样说清楚了吗?嗨,我有点困惑。有这样的例子吗?谢谢我只想在谷歌上搜索“backgroundworker教程”。我建议你也这样做。是的,但是Windows窗体中是否有两个后台工作人员?还是在dll中?此外,Windows窗体将无法访问ClassB-此类受到限制,只能通过ClassA调用。