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