2013-07-26 111 views
-2

我正在嘗試寫入.xml文件。問題是,當我寫作時,我收到錯誤消息:無法從'int'轉換爲'string'。現在我知道這意味着我需要將整數轉換爲一個字符串,但我很困惑如何做到這一點。該 代碼,我現在用的就是如下:寫入.xml文件錯誤信息

private void GetProperties() 
     { 
     //CreateNode(everything being referenced. Put text boxes, and drop down boxes here. 
     XmlTextWriter writer = new XmlTextWriter(@"C:\ForteSenderv2.0\Forte.dat", System.Text.Encoding.UTF8); 
     writer.WriteStartDocument(true); 

     //Making the code indeted by 2 characters. 
     writer.Formatting = Formatting.Indented; 
     writer.Indentation = 2; 

     //Making the start element "Table". 
     writer.WriteStartElement("Forte_Data_Gatherer_Application"); 
     //Calling the rst of the .xml file to write. 
     CreateNode(Portbx.SelectedIndex, BaudRatebx.SelectedIndex, Databitsbx.SelectedIndex, Paritybx.SelectedIndex, StopBitsbx.SelectedIndex, Handshakingbx.SelectedIndex, writer); 
     writer.WriteEndElement(); 
     writer.WriteEndDocument(); 
     writer.Close(); 

    } 

誤差以CreateNode(Portbx.SelectedIndex, BaudRatebx.SelectedIndex, Databitsbx.SelectedIndex, Paritybx.SelectedIndex, StopBitsbx.SelectedIndex, Handshakingbx.SelectedIndex, writer);

+1

這個問題是盯着你的臉權利。 。'看看你的方法簽名'提示'Portbx.SelectedIndex.ToString()'將正確的數據類型傳遞給你的方法CreateNode,你的問題將被修復 – MethodMan

+0

哈哈!我不敢相信我沒有想到這一點,我現在覺得很愚蠢。非常感謝你! –

+0

就像我經常說的那樣..最好'感覺不到愚蠢'LOL歡迎 – MethodMan

回答

2

射擊有一個從整數到字符串中沒有隱式轉換。要麼你需要調用ToString()你的指標參數:

CreateNode(Portbx.SelectedIndex.ToString(), ...

,或者你需要改變的CreateNode簽名取整數

CreateNode(int Port, ...

+1

'ToString()'工作。更改CreateNode方法將不起作用,因爲我需要保留'writer.WriteString(Port);' –

+0

爲什麼不改變方法簽名工作Chase ..?我相信你不理解方法重載試一試,我認爲你會證明你自己錯了。如果你需要一個類型具有一定的價值,那麼在調用之前或者當你調用該方法並傳入參數時,你可以在那個時候進行轉換..基本編程 – MethodMan

+0

據我所知,但我需要'writer.WriteString()'如果我將'string Port'更改爲'int Port',那麼我就不能使用'writer。 WriteString()'。 –