2012-10-17 59 views
-2

這裏是我的代碼:不能隱式轉換類型「字符串」到「system.collections.arraylist」在C#

XmlNodeList ProjectNode = DOC.GetElementsByTagName("AppBuilderProject"); 

foreach (XmlNode AllNodes in ProjectNode) 
{ 
    Project.Titel = AllNodes["Titel"].InnerText; // 1st value from node 

    foreach (XmlNode controlsform in Project.Forms) // arraylist Forms 
    { 
     Project.Forms = controlsform["forms"].InnerText;// error 
    } 
} 

請告訴我如何解決這個問題。

+4

Project.Forms是System.Collections.ArrayList類型,但你試圖將一個字符串複製到它。我猜你的'project.forms ='應該是別的東西。你能解釋一下你正在嘗試做什麼嗎 –

+0

你試圖做什麼沒有意義。錯誤告訴你到底是什麼問題。你正嘗試執行從'System.Collections.ArrayList'到'String'的非法轉換,這是無法完成的。 –

+0

有幾件事,我的意思是說,儘可能採用最優雅的方式:「標題」拼寫爲「標題」。什麼是項目對象?你的錯誤表明你隱式地將一個字符串轉換爲一個不是no的ArrayList。你不能那樣做。如果InnerText中存在序列化對象,則需要將其反序列化回您想要的對象。我會避免使用ArrayList順便說一句,使用泛型列表,但在使用普通數組的序列化情況下將是你需要的任何方式。 – dyslexicanaboko

回答

1

屬性 「Project.Forms」 顯然的類型ArrayList和財產(XmlNode的).InnerText是字符串

試試這個

if(Project.Forms == null) Project.Forms = new ArrayList(); 
Project.Forms.Add(controlsform["forms"].InnerText); 
+1

這不是'Project.Forms.Add(controlsform [「forms」]。InnerText)' – Heki

+1

抱歉,輸入錯誤:)我修復了 –

相關問題