C# 用JSON语法实例化锯齿状数组
我有一个XSD.exe生成的类。我使用的是一种粗略的控制反转。我的测试对象一直工作,直到我添加了这个奇特的XML片段:C# 用JSON语法实例化锯齿状数组,c#,xsd.exe,C#,Xsd.exe,我有一个XSD.exe生成的类。我使用的是一种粗略的控制反转。我的测试对象一直工作,直到我添加了这个奇特的XML片段: <items> <item> <model>1000</model> <description>Torque wrench</description> <material>1545454</material> <lot
<items>
<item>
<model>1000</model>
<description>Torque wrench</description>
<material>1545454</material>
<lot>3</lot>
<serial></serial>
<transferQty>1</transferQty>
<shipQty></shipQty>
</item>
<item>
//..item 2
</item>
<item>
//...item 3
</item>
</items>
</itemOrder>
编译器错误:
Error 3 Cannot implicitly convert type 'itemOrderItemsItem[][]' to 'itemOrderItemsItem[]'
我愿意修改xsd.exe生成的类,如果这样可以使生活更轻松的话。我只想重复N次。将您的示例简化为:
new int[][]{
new int[1][]//this hardcoded 1 bothers me. better way?
{
new int[]
{
4
}
}
}
现在你应该能够看到问题是什么;您试图将int[][]放在int[]]中,而编译器说它需要int[]。删除带有注释的行:
new int[][]{
new int[]
{
4
}
}
这在代码中是等效的:
GeneratedByXsdClass.items = new itemOrderItemsItem[][]{
new itemOrderItemsItem[]
{
new itemOrderItemsItem()
{
model = "1000",
description = "Torque Wrench",
material = "10002525",
lot = "3",
serial = "",
transferQty = "1",
shipQty = ""
}
}
};
这与Json有什么关系?我认为我用来实例化属性的语法是Json语法。这不正确吗?Json是一种数据格式,其语法是Javascript的子集。这里有一个c的内联对象初始化语法示例。
GeneratedByXsdClass.items = new itemOrderItemsItem[][]{
new itemOrderItemsItem[]
{
new itemOrderItemsItem()
{
model = "1000",
description = "Torque Wrench",
material = "10002525",
lot = "3",
serial = "",
transferQty = "1",
shipQty = ""
}
}
};