2012-04-16 135 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);