2013-02-11 65 views
3

相同症狀的轉換類型那些this post無法生成臨時類(結果= 1)。錯誤CS0030:不能

基本症狀是,當我使用XSD.EXE從我的XML,創建我的C#類當我嘗試反序列化,我得到這個錯誤(這編譯,但在運行時產生錯誤)。

無法生成臨時類(結果= 1)。錯誤CS0030:無法將類型 'ProductEnvironmentServerRolesServerRole []' 到 'ProductEnvironmentServerRolesServerRole'

原件(由(XSD.EXE)產生的.cs:

[System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] 
[System.Xml.Serialization.XmlArrayItemAttribute("ServerRole", typeof(ProductEnvironmentServerRolesServerRole), Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] 
public ProductEnvironmentServerRolesServerRole[][] ServerRoles 
{ 
    get { return this.serverRolesField; } 
    set { this.serverRolesField = value; } 
} 

但下面從阿賈克斯,我的建議改變後,行 來源:

public ProductEnvironmentServerRolesServerRole[][] ServerRoles { 

要:

public ProductEnvironmentServerRolesServerRole[] ServerRoles { 

這將導致以下編譯錯誤:

錯誤 1無法隱式轉換類型 'ProductEnvironmentServerRolesServerRole [] []' 到 'ProductEnvironmentServerRolesServerRole []' d:\用戶\文檔\ Visual Studio的2012 \ Projects \ ReadingXMLDummy \ ReadingXMLDummy \ ProductEnvironment.cs 40 20 ReadingXMLDummy
錯誤2不能隱式地將類型'ProductEnvironmentServerRolesServerRole []'轉換爲'ProductEnvironmentServerRolesServerRole [] []'d:\ Users ... \ Documents \ Visual Studio 2012 \項目\ ReadingXMLDummy \ ReadingXMLDummy \ ProductEnvironment.c s 43 37閱讀xMLDummy

兩者都是另一個的倒數。我很困惑,迫切需要幫助:-)在此先感謝

引擎收錄:Program.cs 引擎收錄:ProductEnvironment.cs

+0

你也可以張貼一個鏈接到一些樣品XML? – 2013-02-11 14:32:26

回答

0

無論是屬性及其支持字段將需要改變。在你ProductEnvironment.cs你也應該改變這一行:

private ProductEnvironmentServerRolesServerRole[][] serverRolesField; 

閱讀本:

private ProductEnvironmentServerRolesServerRole[] serverRolesField; 

的錯誤消息是海誓山盟的倒數,因爲酒店的get試圖返回你的領域(交錯的數組)作爲單維數組,而set試圖將單維數組分配給(鋸齒形數組)字段。 (第40行是get,第43行是set。)

您可能也想將其應用於您的Servers屬性。

我不知道什麼會導致XSD.exe生成這樣可怕的代碼在第一位,雖然...

2

這裏的問題是不是在類型屬性生成,但屬性的屬性類型:

[System.Xml.Serialization.XmlArrayItemAttribute("ServerRole", typeof(ProductEnvironmentServerRolesServerRole), Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] 

應改爲

[System.Xml.Serialization.XmlArrayItemAttribute("ServerRole", typeof(ProductEnvironmentServerRolesServerRole[]), Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] 
相關問題