我承认我是 C# 的新手,我有以下问题。
假设您有一个包含三个项目(A、B、C)的解决方案。项目 C 引用 B,B 和 C 都引用 A。B 是入口点所在的位置。我在项目 A 中的一个类中有一个列表。它是这样的:
项目一:
public class ProcessDuration
{
public List<TicketTimer> DurationList = new List<TicketTimer>();
public void AddProcesstime(string Ticket, int Count, Process_Step Step, Process_Status Status, DateTime Time)
{
Ticket ccStart = new Ticket();
ccStart.RecordTime(Ticket, Count, Step, Status, Time);
DurationList.Add(ccStart);
}
...
}
项目B:
class testB
{
public TicketProcessDuration TD = new TicketProcessDuration();
TD.StartProcessMonitor(ticketMain, request.DataRecords.Count);
}
项目 C:
class testC
{
TD.StartProcessMonitor(ticketMain, request.DataRecords.Count); //Error here because TD scope
}
我想从项目 B 和 C 添加到列表中。所以我在 B 中创建了一个 ProjectDuration 类的对象。但是由于范围的原因,我无法从项目 C 中访问它。我尝试将列表设为静态并在项目 C 中创建对象 TD,但它给了我另一个问题 - 它为应用程序生命周期维护列表,但我希望在每次运行后清空列表。我不想定义一个函数并将 ProjectDuration 对象从 B 传递给 C。还知道它是一个 Web 服务应用程序,所以几个连接可能正在迭代列表,所以我无法在一次运行后清除它。
你有什么建议?我该如何解决这个问题?我也想知道如何在垃圾收集器之前销毁对象TD?
任何紧急帮助将不胜感激。如果我需要阅读某些领域以更好地了解这些情况,请告诉我......但首先要解决!
亲切的问候,