2012-04-16 146 views
2

我已经创建了一个插件来读取电子邮件的正文(描述)。但是当我尝试从插件中读取某些内容时,它给了我错误。它给了我NullReferenceException。我已经在创建新电子邮件活动(创建后)时注册了该插件。电子邮件实体中的主题字段为单行文本,但电子邮件正文(描述)为多行文本。我能够阅读主题但无法阅读电子邮件正文。下面是我使用的代码:如何阅读CRM 2011插件中的电子邮件正文

var body = email_entity["description"]; 

我猜电子邮件正文以字符串数组的形式存储数据。当我使用下面的一段代码,但没有将值分配给任何变量时,我没有任何错误。

var body = email_entity["description"]; 
string[] desc = (string[])body; 

现在,如果我用倒序[0]来设置它抛出我有同样的NullReferenceException异常的变量的值。

我不知道如何从插件的多行文本字段中读取值。我在上面尝试过,但没用。

有没有人有任何想法我失踪或做错了?

谢谢!

回答

2

多行文本字段是字符串,而不是字符串数组。在该行中:

var body = email_entity["description"]; 

body是字符串类型。换行符在该字符串中。 如果要转换string into an array of strings for each newline character,请尝试:

List<string> bodyLines = email_entity["description"].Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);