从另一个方法中的一个方法访问列表

本文关键字:方法 一个 访问 列表 另一个 | 更新日期: 2023-09-27 17:58:12

我想知道如何从一个方法访问另一个方法中的列表。基本上我想做这样的事情:

    public class StatisticsController : BaseNopController
    {
        public List<Visitors> CreateVisitorsReport (StatisticsListModel model)
        {
           var StartDate = DateTime.Today.AddDays(-10);
           var EndDate = DateTime.Today.AddDays(-1);
          // -- Visitors class contain properties "Date" and "TotalVisitors". Dates between Start and EndDate
           List<Visitors> VisitorsList = new List<Visitors>();
          //  --- Some code populating a list of Visitors objects

           return VisitorsList;
        }

    public List<Orders> CreateOrdersReport (StatisticsListModel model)
    {
       var StartDate = DateTime.Today.AddDays(-10);
       var EndDate = DateTime.Today.AddDays(-1);
       // -- Visitors class contain properties "Date" and "TotalOrders". Dates between Start and EndDate
       List<Orders> PersonList = new List<Orders>();
       //  --- Some code populating a list of Orders objects

       return OrdersList;
    }
}

现在,在第三种方法中,我想计算Visitors.TotalVisitors和Orders.TotalOrders的转换率,为了做到这一点,我还需要从"CreateVisitorsReport和CreateOrdersReport."的返回中重新获得结果

很抱歉,如果我的代码看起来很愚蠢,但我对此有点陌生,所以这可能不是最佳的,我可能应该使用一些模式。

我的第三种方法看起来像这样:

public List<IEnumerable> CreateConversionReport(StatisticsListModel model)
{
  List<Ienumerable> ConversionList = new List<IEnumerable>();
  foreach (var CreationDate in orders )
  {
  // -- Devide all Visitors in VisitorsList with Orders in OrdersList
  }
  return ConversionList;
}

摘要:为了在"CreateConversionReport"中创建转换计算,我需要访问VisitorsList和OrdersList,因为它们包含我计算转换所需的所有数据。

感谢

从另一个方法中的一个方法访问列表

您有两个选择:

  1. 从方法中调用CreateVisitorsReportCreateOrdersReport,获取列表,执行操作
  2. 如果这不是您想要在类级别声明列表的方式,请将定义放在方法之外,然后您可以从CreateConversionReport访问它们

有三种方法,

  1. 声明2在类中列出变量,并在方法中分配它们(而不是返回或在调用它们之后),它们在第三个方法中使用它
  2. 声明List并将其传递给CreateOrdersReport和CreateVisitorsReport,然后它们填充列表
  3. 在第三个方法中调用它们,您就得到了它们的结果,然后使用它