将原始对象添加到包含原始对象列表 属性 的新对象

Adding an original object to new object which contains a list property of the original object

背景信息:

目前正在开发一个程序,其中我有一个用于存储信息的自定义数据模型。需要将数据模型 1 添加到新的对象数据模型中,该模型包含数据模型 1 的列表 属性。

问题:

目前有一个功能可以从电子邮件中解析出信息并将数据放入 Act_Email 数据中。函数完成后,它 return 一个 Act_Email 的对象到调用它的函数。但是我想根据我的 Act_Email 制作一个对象列表。目前,在我实际将我的 Act_Email 对象添加到应该包含我的 Act_Email 对象列表的另一个对象之前,下面的代码工作得很好。

Act_Email

namespace ActivityCrawler.Models
{
    class Act_Email
    {
        public string ActivityID { get; set; }
        public string ActivityBody { get; set; }
        public string ActivityThreadIndex { get; set; }
        public string ActivityMessageID { get; set; }
        public string ActivitySubject { get; set; }
        public string ActivityWebLink { get; set; }
        public string BulkEmail { get; set; }
        public string CampaignID { get; set; }
    }
}

namespace ActivityCrawler.Models
{
    class ActivityDBCollection
    {
        public List<Act_Email> MinedEmailData { get; set; }
        public List<Act_DHG_Staff> MinedDHGStaffData { get; set; }
        public List<Act_Header> MinedHeader { get; set; }
        public List<Act_Attachments> MinedAttachmentData { get; set; }
        public List<Act_Notes_Tasks> MinedNotes_TaskData { get; set; }
        public List<Act_Crm_Leads_Contacts> MinedContact_Leads_Data { get; set; }
    }
}

public static Act_Email Extract_Act_Email(UnparsedData recordList)
{
    Act_Email parsedData = new Act_Email();
    try
    {
        if (recordList.ActivityType != "Notes")
        {
            parsedData.ActivityWebLink = recordList.ActivityWebLink;
            parsedData.ActivityBody = recordList.ActivityBody;
            parsedData.ActivityID = recordList.ActivityHeaderID;
            parsedData.ActivityMessageID = recordList.ActivityUniqueID;
            parsedData.ActivitySubject = recordList.ActivitySubject;
            parsedData.ActivityThreadIndex = recordList.ActivityParentId;
        }
    }
    catch (Exception ex)
    {
        throw;
    }


    return parsedData;
}

static void Main(string[] args)
{
 ActivityDBCollection DBData = new ActivityDBCollection();
Act_Email minedEmailData = Helpers.DataParsers.Extract_Act_Email(emailDataModel);
    DBData.MinedEmailData.Add(minedEmailData);
}

您遇到问题“将我的 Act_Email 对象添加到我的另一个对象中,该对象应该包含我的 Act_Email 对象 的列表。'

看来您的其他对象(DBData.MinedContact_Leads_Data,其中 DBData 是 'ActivityDBCollection' )确实包含一个列表Act_email class.

同样在您的函数 'Extract_Act_Email' 中,您总是在创建一个 Act_Email 对象,因此应该返回一个对象。

这是空引用错误吗?我会检查 ActivityDBCollection 的 class 初始值设定项或像这样

手动初始化字段 'MinedEmailData'
static void Main(string[] args)
{

    ActivityDBCollection DBData = new ActivityDBCollection();
    DBData.MinedEmailData = new List<Act_Email>();
    Act_Email minedEmailData = Helpers.DataParsers.Extract_Act_Email(emailDataModel);
    DBData.MinedEmailData.Add(minedEmailData);
}